当前位置:首页 » 编程语言 » exceladosql
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

exceladosql

发布时间: 2022-04-30 22:37:42

‘壹’ EXCEL VBA里怎么用sql 的SELECT 语句

可以做到,但不是三言两语能说清楚的。至少VBA程序不会太短

如果用手工操作,不借助VBA,可以利用Excel的“数据-导入外部数据”菜单将SQL中的表先导入到Excel中,那么Excel数据与SQL数据的比较就变成了两个Excel表列的比较,很容易用数组公式或相关函数标识出重复的数据项的。

‘贰’ excel如何导入sql表

在SQL SERVER中右击数据库,选择菜单“任务”--“导入数据”即可。

在导入过程中,勾选将第一行做为列标题就可以,你还可以定义每一字段的字段类型。

‘叁’ excel vba ado的一条sql语句 有错误 请指正

excel的这种sql访问方式中,列的类型是根据该列第一行数据判断的,在这列第一行数据201前加单引号试试

‘肆’ Excel ADO sql 中怎么用判断语句语句

写法如下:
ado对象:
if ado.row.count = 1 then
具体的处理代码
end if

‘伍’ excel向sql导入

检查下路径..

1、将SQL SERVER中查询到的数据导成一个Excel文件
T-SQL代码:
EXEC master..xp_cmdshell 'bcp 库名.dbo.表名out c:\Temp.xls -c -q -S"servername" -U"sa" -P""'
参数:S 是SQL服务器名;U是用户;P是密码
说明:还可以导出文本文件等多种格式

实例:EXEC master..xp_cmdshell 'bcp
saletesttmp.dbo.CusAccount out c:\temp1.xls -c -q -S"pmserver" -U"sa" -P"sa"'

EXEC master..xp_cmdshell 'bcp
"SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout C:\ authors.xls -c -Sservername -Usa -Ppassword'
2、在SQL SERVER里往Excel插入数据:
insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Temp.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...table1 (A1,A2,A3) values (1,2,3)

T-SQL代码:
INSERT INTO
OPENDATASOURCE('Microsoft.JET.OLEDB.4.0',
'Extended Properties=Excel 8.0;Data source=C:\training\inventur.xls')...[Filiale1$]
(bestand, prokt) valueS (20, 'Test')

SQLServer和Excel

1、向Excel查询

select * from OpenRowSet(’microsoft.jet.oledb.4.0’,’Excel 8.0;HDR=yes;database=c:\book1.xls;’,’select * from [Sheet1$]’) where c like ’%f%’

select * from
OPENROWSET(’MICROSOFT.JET.OLEDB.4.0’
,’Excel 5.0;HDR=YES;IMEX=2;DATABASE=c:\book1.xls’,[sheet1$])

1)hdr=yes时可以把xls的第1行作为字段看待,如第1个中hdr=no的话,where时就会报错
2)[]和美圆$必须要,否则M$可不认这个账

2、修改Execl

update OpenRowSet(’microsoft.jet.oledb.4.0’,’Excel 8.0;hdr=yes;database=c:\book1.xls;’,’select * from [Sheet1$]’)
set a=’erquan’ where c like ’%f%’

3、导入导出

insert into OpenRowSet(’microsoft.jet.oledb.4.0’,’Excel 8.0;hdr=yes;database=c:\book1.xls;’,’select * from [Sheet2$]’)(id,name)

select id,name from serv_user

或BCP

master..xp_cmdshell’bcp "serv-htjs.dbo.serv_user" out "c:\book2.xls" -c -q -S"." -U"sa" -P"sa"’

从Excel向SQLServer导入:

select * into serv_user_bak
from OpenRowSet(’microsoft.jet.oledb.4.0’,’Excel 8.0;HDR=yes;database=c:\book1.xls;’,’select * from [Sheet1$]’)

如果表serv_user_bak不存在,则创建

有关BCP和分布式查询的详细解答,就查SQLServer自带的帮助吧
SQLServer和txt文件、HTML文件、VFP文件的数据交换都显得非常容易了。。。。

如果你是用.NET进行数据的导入,那么也可以用SqlBulkCopy 类. SqlBulkCopy 类允许编写提供类似功能的托管代码解决方案。还有其他将数据加载到 SQL Server 表的方法(例如 INSERT 语句),但相比之下 SqlBulkCopy 提供明显的性能优势。

使用 SqlBulkCopy 类只能向 SQL Server 表写入数据。但是,数据源不限于 SQL Server;可以使用任何数据源,只要数据可加载到 DataTable 实例或可使用 IDataReader 实例读取数据。

‘陆’ Excel2003中,如何将将两张工作表中的相同名称对比在一起

按我之前给你的表格,库存数已经自动统计出来了,“品规”在J列,“库存数”在K列
可在另一工作表的任一列(假设在A1吧)输入
=INDEX(Sheet1!J:J,SMALL(IF(Sheet1!J$4:J$100<>"",ROW($4:$100),4^8),ROW(1:1)))&""
数组公式,输入后先不要回车,按Ctrl+Shift+Enter结束计算,再向下填充
再在B1输入
=VLOOKUP(A1,Sheet1!J:K,2,0)回车并向下填充。
用=SUMIF(Sheet1!J:J,A1,Sheet1!K:K)也行(反正只有一个数据,不用汇总)

你的品名自己输入也行,就不要上面的第一道数组公式;第二道公式可加入判断函数IF等:
=IF(ISERROR(VLOOKUP(A1,Sheet1!J:K,2,0)),"",VLOOKUP(A1,Sheet1!J:K,2,0))
当输入库存表没有的品规,库存列显示空值。

‘柒’ 将excel表导入到SQL数据库

选中sql server2005中的数据库,点击鼠标右键,选择任务,然后选择导入数据,然后点击下一步,然后在数据源中选择microsoft excel,然后选择你要导入的excel的路径,excel版本请选择最高,在这里需要说的是,如果你的excel文件是2007的或者2010的,请你使用office将其存为2003的excel文件,也就是说,需要将xlsx文件存储为xls,然后点击下一步,然后选择你要导进的地址,也就是IP,如果是导入到本机就填 . 号,然后选择你要导进的数据库就好了,一步一步来,有提示的
希望我的回答对你会有帮助,如果以上回答没有解决你的问题,请追问详述,当然也可以直接 HI 我,我网络随时在线,解决问题后望即时采纳,谢谢!

‘捌’ excel导入sql的问题

9月20日 12:47
******* 导出到excel
EXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""'

/*********** 导入Excel
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions

SELECT cast(cast(科目编号 as numeric(10,2)) as nvarchar(255))+' ' 转换后的别名
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions

---------------------------------------------------------------

EXCEL TO SQL SERVER
先用ODBC建立一个数据源,数据源指向sql server的表,然后用TTABLE控件联上数据库,
再建立一个OleObject,然后用Append,Post把数据导入到EXCEL表。
实例:
var
MSExcel:Variant;//定义一个全程变量

MSExcel := CreateOleObject('Excel.Application');
MSExcel.WorkBooks.Open(Edit1.Text);//创建一个OleObject

Table.Active:=true;
Table.Append;
Table.FieldByName('字段名').Value:=MSExcel.Cells[rows_i,1].Value;
Table.Post;//实现导入

如果有不明白给我mail: [email protected]
---------------------------------------------------------------

不行的话
你可以用server里的execl的空件
excelwork.open();
---------------------------------------------------------------

那dbexpress可以连接excel吗?
ado怎么去连接excel?谢谢
----------------------
不能,
要连接excel(把它当成数据库连接)只能用ado来做.
其连接字符串的一个示例:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"""
注意
Properties=""Excel 8.0;HDR=Yes;IMEX=1""是一个参数,而不是多个

‘玖’ VBA ADO SQL 导出到EXCEL后。内容是插入,能不能改正覆盖

临时开一个空白工作表,保存内容后在Copy过来,例如:

setwb=Workbooks.Add
wb.sheets(1).Range("A1").CopyFromRecordsetrs
wb.sheets(1).UsedRange.CopyWorksheets(3).Range("A17")
wb.CloseSaveChange:=False