在excel导入server数据库时,表的数据类型要设为nvarchar才不容易出错
启动外围应用配置器 ,可以用来导入excel数据库
可通过 SQL Server“开始”菜单使用 SQL Server 外围应用配置器:
· 在“开始”菜单中,依次指向“所有程序”、Microsoft SQL Server2005 和“配置工具”,再单击“SQL Server 外围应用配置器”。
显示的第一个页面为 SQL Server 外围应用配置器的起始页。在该起始页中,可指定要配置的服务器:
1. 单击“配置外围应用”旁边的“更改计算机”链接。默认值为“localhost”。如果您以前选择的是一个命名服务器,则将会看到该服务器名称。
2. 在“选择计算机”对话框中,执行下列操作之一:
· 若要在本地计算机中配置 SQL Server 2005,请单击“本地计算机”。
· 若要在另一台计算机中配置 SQL Server 2005,请单击“远程计算机”,然后在文本框中输入计算机名称。
· 若要配置故障转移群集,请单击“远程计算机”,然后在文本框中输入故障转移群集实例名称。
3单击“确定”。
代码是:
insert into t1 select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,
'Excel 5.0;HDR=YES;DATABASE=C:\Documents andSettings\Administrator\桌面\无公害农产品认证产品查询\2008年无公害农产品合格产品目录.xls',第四批$);
insert into Chanpin(shengfen,s_name,product_name,product_sb,ton,zsbh,date) select F2,F3,F4,F5,F6,F7,F8 from OPENROWSET('MICROSOFT.JET.OLEDB.4.0',
'Excel 5.0;HDR=YES;DATABASE=C:\Documents andSettings\Administrator\桌面\无公害农产品认证产品查询\2010年无公害农产品合格产品目录.xls',第八批产品目录$);
????为什么有时候是(65425 行受影响)受到影响,而不是实际行数受到影响
那是因为一个excel表格里面可以有65425个行,但是我们存储的只有几百行左右,其它的就变成空行了,
删除空行的办法,就是全选表格,然后数据----筛选---自动筛选---,在第一行的列上会有下拉框,点击非空白即可
1)接受数据导入的表已经存在。
insert into t1 select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,
'Excel5.0;HDR=YES;DATABASE=c:\\test.xls',sheet1$);
2)导入数据并生成表。
select * into t1 from OPENROWSET('MICROSOFT.JET.OLEDB.4.0',
'Excel 5.0;HDR=YES;DATABASE=c:\\test.xls',sheet1$);
3) 导入Excel中指定的列到数据库表中指定的列。
INSERTINTO t1(a1,a2,a3) SELECT a1,a2,a3 FROM OPENROWSET 'MICROSOFT.JET.OLEDB.4.0','Excel5.0; HDR=YES; DATABASE=c:\\test.xls',sheet1$);