把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要写成[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了

(0)

相关推荐

  • 对Excel表中数据一对多查询的方法

    对Excel表中数据一对多查询的方法          举个例子,如下图,左侧A1:C10是一份学员名单表,现在需要根据F1单元格的"EH图班"这个指定的条件,在F2:F10单元格 ...

  • excel表中数据跨工作表引用的方法

    Excel表中数据跨工作表引用的方法很简单,下面就说说Excel表中数据跨工作表引用的方法. 操作方法 01 我们先打开一个空白的工作表,在任意一个单元格中输入一个1. 02 我们再打开第二个空白工作 ...

  • 怎样将MySQL数据导出到Excel表中

    我们会经常使用到MySQL数据库,而数据库中的数据会经常性的进行更改,我们怎样将数据导入到EXCEL表中,使数据不会丢失呢?这个小渔今天就做了一个尝试,特来与大家分享. 操作方法 01 首先,我们需要 ...

  • 如何将excel表格的数据导入到mysql数据中去

    在游戏开发,或者web开发过程中,我们常常需要将符合格式的数据,导入到我们自己的mysql数据库中,这样既方便,有省事.可以分工明确,你只需要提供相应的规范,策划或者其他人员按照你的文档,填写相应的格 ...

  • 将Access mdb表及数据导入sql中

    将Access mdb表及数据导入sql中的一个方法,希望可以帮到网友 操作方法 01 先在sql中新建一个空数据库 02 再右键点击刚才新建的数据库,任务-导入数据--下一步 03 数据源选择Mic ...

  • 批量查找替换多个Excel工作表中数据的方法

    批量查找替换多个Excel工作表中数据的设置步骤 例子:如何将表格"1月"."2月"."3月"中的"总务部"批量替换成& ...

  • 填充Excel表中上方非空单元格数据的方法

    填充Excel表中上方非空单元格数据的方法 1.选择范围 将需要填写的空单元格以及其上方单元格一起选中 2.定位空值 同时按住ctrl+G,跳出"定位"对话框,点击"定位 ...

  • Excel数据透视表中数据透视图创建教程

    相信很多小伙伴在日常办公中都会用到Excel,那么我们怎么在其中创建一个数据透视图呢?方法很简单,下面小编就来为大家介绍.具体如下:1. 首先,打开电脑上的"Excel",在其中打 ...

  • Excel表格数据透视表中数据求和结果不对怎么办

    Excel是我们常用的办公软件之一,有小伙伴问怎么Excel数据透视表求和结果为零怎么办,下面小编介绍一下.具体如下:1. 打开Excel表格,以图中表格为例,对销售单号和销售金额进行求和.2.但是求 ...