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

时间:2023-05-28 12:56:03 

这是第二次了,市场部那边又来要求改数据。他们要改的是数据库某张表中类似商品价格等的数据,需要改的地方又多,我们上次是靠新来的兄弟一个个给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要写成[Sheet1$]

最后,看看我成功的测试

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

insertintotestTable_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教程
0
投稿

猜你喜欢

  • Win11自动更新有必要关闭吗?Win11自动更新怎么永久关闭?

    2022-04-20 03:00:09
  • Win7屏幕键盘如何启动?

    2023-02-25 23:15:41
  • Win10任务管理器显示磁盘100%的解决方法

    2023-08-28 03:15:41
  • Win10预览版15042中Windows Defender有哪些变化?

    2023-11-25 17:26:09
  • 在WPS表格中如何设置打印区域?

    2022-04-18 23:49:04
  • windows10怎么升级新版本?

    2022-04-07 11:24:22
  • PPT如何制作水墨梅花开的动画效果?PPT制作水墨梅花开动画效果方法

    2023-08-15 16:02:14
  • Win7系统怎么安装IE11浏览器?

    2022-01-18 23:40:11
  • WPS演示2013中如何设置自定义放映

    2023-09-07 07:45:20
  • Word表格标题行无限复制(图文)

    2023-11-12 03:38:24
  • 表格排版--Word 2007书籍排版完全手册6

    2022-12-23 16:50:21
  • Excel2019怎么计算N次方?Excel2019计算数字的N次方教程

    2022-11-26 17:47:07
  • 低配电脑装win7还是XP好 低配电脑装什么系统好

    2023-09-23 21:04:48
  • Win 11 中彻底“解决”了蓝屏

    2023-11-13 17:57:14
  • 文语通怎么保存音频?文语通保存音频的方法

    2023-07-22 02:58:48
  • excel数据透视表怎么设置只能输入规范的日期

    2023-03-01 04:09:52
  • Win10系统不能显示移动硬盘盘符怎么解决?

    2023-03-01 19:15:27
  • 电脑处理器排行榜2020

    2023-06-09 06:15:29
  • WPS 文字合并字符、双行合一与字符缩放实用技巧

    2023-01-31 14:36:16
  • excel公式组合的使用教程

    2022-05-13 16:51:48
  • asp之家 电脑教程 m.aspxhome.com