把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了

时间: 2024-10-31 00:10:40

把Excel表中数据导入数据库的相关文章

jsp-java 中JSP 实现把excel表中数据导入到mysql数据库中的表中的具体实现方法

问题描述 java 中JSP 实现把excel表中数据导入到mysql数据库中的表中的具体实现方法 java 中JSP 实现把excel表中数据导入到mysql数据库中的表中的具体实现方法 解决方案 参考:http://blog.csdn.net/casilin/article/details/5750773 解决方案二: 楼主幸苦了!!谢谢分享!!! 解决方案三: jsp导excel到mysql数据库 http://wenku.it168.com/d_000468232.shtml

php mysql-在php中从Excel表中向mysql数据库导入数据

问题描述 在php中从Excel表中向mysql数据库导入数据 请问:如何实现在php中从Excel表中向mysql数据库导入数据,要注意那些东西? 解决方案 http://www.jb51.net/article/26921.htm 解决方案二: http://blog.csdn.net/china_skag/article/details/7098473 解决方案三: http://blog.csdn.net/jiaocaigeng/article/details/9470571 解决方案四

求C#代码!!关于从Excel表中将数据导入Access数据库,以及Access数据库中的数据导出到Excel表的代码。急!!!晚上就得交差啊

问题描述 我需要从Excel表中将数据导入Access数据库,以及Access数据库中的数据导出到Excel表的代码,越具体越好!!望各位高手能不吝赐教 解决方案 解决方案二:不会吧?难道世间真的是如此残忍?为什么没人理我啊?高手们,算小弟我求你们了!难道是分不够多吗?初出江湖实在是身无分文啊----就不要太在意这个了,好不好啊?给我写写吧,万分感谢了!!解决方案三:这里是利用officeapplication方式来操作excel的http://blog.csdn.net/fangxinggoo

Excel表中数据开头的0没有显示怎么办?

问题状态如下: 我们把文本中的数据导入到excel中时你会发现如下图所示前面的0都就消失不见了,如下图所示. 解决方案: 我们点击excel表中"数据"选项卡的"获取外部数据"-->"自文本"具体绍下图所示: 然后我们再找到要操作的文件之后点击"导入"菜单,细节如下图所示: 然后在弹出的导入向导中我们点击"分隔符号"然后我们再把"逗号"复选框,然后单击"下一步"

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

  对Excel表中数据一对多查询的方法          举个例子,如下图,左侧A1:C10是一份学员名单表,现在需要根据F1单元格的"EH图班"这个指定的条件,在F2:F10单元格区域中,提取该班级全部学员名单. 今天说一个函数查询方面的方法:Index+Small. F2单元格输入以下数组公式,按住Ctrl+Shift键不放,再按回车键,然后向下填充: =INDEX(B:B,SMALL(IF(A$1:A$10=F$1,ROW($1:$10),4^8),ROW(A1))),&quo

在JSP页面点击浏览,选取EXCEL表格,点击导入能将表中数据保存到数据库里

问题描述 在JSP页面点击浏览,选取EXCEL表格,点击导入能将表中数据保存到数据库里 在JSP页面点击浏览,选取要保存的EXCEL表格,点击导入能将表中数据保存到MYSQL数据库里 环境用的是MVC +MYSQL 求源码!!!!!! 解决方案 参考Spring3 MVC + POI 实现 Excel与MySQL 的导入导出 解决方案二: 上面的答案有帮助吗?如果还有问题,请提出来,如果对答案满意,请顶一下,并标记为采纳答案,谢谢!

mysql-请问,excel表中的数据如何倒入MySQL数据库?谢谢!

问题描述 请问,excel表中的数据如何倒入MySQL数据库?谢谢! 求详细步骤1111111111111111111111111111谢谢!谢谢! 解决方案 方法很多:1.phpmyadmin导入,格式选择csv,导入即可.注意文件格式2.使用phpexcel插件将excel数据读入成数组,然后用php插入mysql

Java 使用poi把数据库中数据导入Excel的解决方法_java

Java 利用poi把数据库中数据导入Excel 效果: 使用时先把poi包导入工程的path,注意只需要导入poi包即可,下载后有三个jar包 核心代码: 连接数据库:DBConnection.java 复制代码 代码如下: package org.xg.db;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;i

将Excel中数据导入到Access数据库中的方法_实用技巧

Default.aspx 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/