把Excel表中数据导入数据库的方法
我想至少有这样两种比较容易实现的方法:
1、直接用Sql语句查询
2、先用excle中的数据生成xml文件,再把xml导入数据库
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了
更多相关资讯
栏目导航
IT新闻
更多>>-
iPad2不值得购买的十大理由
花费 500-800美元去购买iPad 2是不明智的。其实,笔 ... [详细] - 全球网站域名Top100榜:五类域名成关注亮点
- 互联网大会昨开幕 互联网四领袖同台“竞技”
- 中国式视频网站的盈利模式探索 收费模式举步
- 苹果ipad3疑似产品图曝光 或将今秋发布(图)
- Bloomspot:比Groupon更高明的团购模式
- “我行贿了”备案成功 无力维持欲捐政府
Windows 7
更多>>-
不为人知秘密,Windows7里藏着一
有的人可能知道, WindowsXP Mode,你可以简称他为 ... [详细] - Windows 7将支持USB3.0
- 如何辨别正版的Windows7光碟?
- Win 7一些应用小技巧的总结
- 教你如何在Win 7中避免U盘病毒感染
- Win 7技巧:用内容视图提高搜索效率
- 小技巧:让Windows快捷方式也用相对路径
网站运营
更多>>-
浅析互联网产品的信息治理
一家媒体导向的公司,使用较为贴近Twitter的信息组织形式来做微博,用媒体的运作方法去运作内容,用期待自媒体效应的思路去节约媒体成本。不假思索地做用户关系推 ... [详细] - 绝对不止两三招 电子商城吸引客户手段分析
- Tag–推送的基石及实现方式
- 某电子商务公司推广部内部工作细则
- 深入讲解几种主流的网站推广方式
- 8步教你如何做一个成功的团购网站
- 把握边缘优势差异化竞争是网站运营取胜捷径
