办公自动化 百分网手机站

如何把Excel工作表中数据导入数据库

时间:2020-09-16 10:15:14 办公自动化 我要投稿

如何把Excel工作表中数据导入数据库

  大家知道要如何把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要写成[Sheet1$]

  最后,看看我成功的测试

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

  intotestTable_1([name],[date],[money],[content]) Select[姓名],[日期],[金额],[内容] FROMOpenDataSource('Microsoft.Jet.OLEDB.4.0', 'DataSource="C:Book1.xls"; UserID=Admin;Password=;Extendedproperties=Excel5.0')…[Sheet1$]

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

  回过头来看看市场部的要求,假设在我这张表里实现,可以先判断如excel里存在与记录相同的name字段(name要唯一非空)时就删除记录,之后再插入,这样简单,但自增的id字段会因为插入而改变,那是不行的了。可行的方法是先读出excel里全部记录,然后用游标一条条分析,如果存在这个name就更新否则就插入。OK,下次就不用让他们再对着文档一条条Update了。

【如何把Excel工作表中数据导入数据库】相关文章:

如何手工导入数据库06-17

Access 2007中的数据怎么导入Excel文件10-02

excel表中如何求和09-25

excel表中怎么查找重复数据09-26

在excel中如何恢复损坏的工作表10-01

怎么把excel表格导入到word文档09-30

excel表中移动数据的方法10-02

如何解除Excel数据保护10-15

PHP如何创建数据库09-30