把Excel工作表中数据导入数据库 (c excel 更新数据库)

这是第二次了,市场部那边又来要求改数据。他们要改的是数据库某张表中类似商品价格等的数据,需要改的地方又多,我们上次是靠新来的兄弟一个个给Update进去的,这次老大去教了他们Update语句,把烦人的皮球踢给他们了。但这样一个个更新很明显不是办法,我想轿哗通过excel直接把数据导入数据库应该是可行的吧,就开始找方法了。

我想至少有这样两种比较容易实现的方法:

1、直接用Sql语句查询

2、先用excle中的数据生成xml文件,再把xml导入数据库

之一种方法(方法二以后再试),找到联机丛书里实现此功能的Sql语句如下:

SELECT* FROMOpenDataSource(’Microsoft.Jet.OLEDB.4.0′, ‘DataSource=”c:Financeaccount.xls”;UserID=Admin;Password=;Extendedproperties=Excel5.0’)…xactions

语句是有了,但我还是试了很久,因为各个参数具体该怎么设置它没有说。Data Source就是excel文件的路径,这个简单;UserId、Password和Extended properties这三个属性我改成了各种各样的与本机有关的用户名、密码以及excel版本都不对,最后用上面例子里的值“User ID=Admin;Password=;Extended properties=Excel 5.0”才成功了,晕啊;最后个“xactions”更是查了很多资料,其实就仅仅是excel文件里所选的工作表名而已,怪我对excel不够熟悉了,另外注意默认的Sheet1要写成

最后,看闭薯行看我成功的测试

数据库里建好一个表testTable_1,有5个字段id, name, date, money, content,C盘下book1.xls文件的sheet1工作表里写好对应手喊的数据并设好数据类型,执行如下插入语句:

insertintotestTable_1(,,,) Select,,, FROMOpenDataSource(’Microsoft.Jet.OLEDB.4.0′, ‘DataSource=”C:Book1.xls”; UserID=Admin;Password=;Extendedproperties=Excel5.0’)…

select里的列名我一开始用*代替,但发现输出顺序与我预期的不同,是“金额、内容、日期、姓名”,不知道具体有什么规律,就老老实实写名字了。操作成功


数据运维技术 » 把Excel工作表中数据导入数据库 (c excel 更新数据库)