把Excel表中数据导入数据库

时间:2023-07-04 13:52:32 

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

猜你喜欢

  • excel怎么快速复制文件夹名称到word?

    2023-07-04 20:12:00
  • 网页数据导入到Excel表格并同步更新的方法

    2022-08-29 12:55:38
  • wps2016在线模板怎么设置开启或关闭?

    2022-11-01 23:35:00
  • excel如何制作工资条?超详细的工资条排序法教程

    2022-06-08 18:02:12
  • WPS excel一秒拼合多表格数据

    2022-03-01 22:15:16
  • 怎么修复Win10更新时候提示0x80073712错误代码?

    2022-03-14 18:14:32
  • excel计算文本型公式的结果教程

    2023-09-19 17:49:42
  • 华为p40pro和p40有什么不同_华为p40pro和p40有什么不同的详细教程

    2023-04-20 07:16:49
  • Word软件怎么设置网格线的操作方法教学

    2022-07-04 11:43:52
  • win10推送安装怎么关闭_win10推送安装服务关闭教程

    2023-01-13 21:40:38
  • 怎样通过电子地图去识别路况?

    2022-06-18 02:11:05
  • Face ID 失效是什么原因,如何解决?

    2023-05-30 00:03:35
  • Win7旗舰版怎么完美升级Win11 Win7旗舰版升级Win11系统教程

    2022-05-04 05:46:36
  • Excel中姓名如何设置成左右对齐

    2023-09-26 03:42:41
  • excel 开方函数的两种方法:使用开方函数和数学幂运算完成开方

    2022-01-16 23:34:56
  • 惠普战X要如何重装系统?惠普战X重装电脑系统的方法

    2023-10-03 02:24:49
  • excel 如何利用TRUNC函数取整

    2022-08-20 02:14:51
  • Excel中COUNTIF函数有什么使用技巧

    2023-04-26 14:17:43
  • 苹果Mac中如何安装java应用?java mac版安装教程

    2023-02-09 11:11:34
  • Word中利用字体制作各种实用标志的方法

    2023-12-10 22:20:43
  • asp之家 电脑教程 m.aspxhome.com