使用EXCEL作为数据源


当客户提出来将数据录入EXCEL批量更新时,感觉到不管新系统有多么好,用户还是会沿用自己已经习惯的操作方式。以前就想过到Office编程必然会火,就是因为它本身就提供了用户早已“熟悉”的界面,一个WORD文档,一个EXCEL表格足以,用户使用起来比什么界面都爽的多。

好了,既然以后用的到,贴些有用的代码:

Excel连接字符串的的写法:

OleDbConnection conn  =

New OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; data source=" + ViewState("fileName") + "; Extended Properties=Excel 8.0;") viewState("filename") 存放文件绝对路径

选的话一个Sheet可以看作一个table: SELECT * FROM [Sheet1$]

(以下内容7-13更新)
还有一个不是很显眼的问题,EXCEL作为数据源导入的时候,如果本列开始几行为数字,它会将这列的数据类型作为数字,最要命的是它会把其余的非数字设为空值。看似智能,却给我们带来了很多麻烦(还是用户发现的这个问题)。甚至手动设置为文本格式都不行(反正我测试是这样)。解决的办法查了一下资料,真是不好找,但有一个:
连接字符串制定为

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Sunny\Desktop\DataNoID2.xls;Extended Properties="EXCEL 8.0;HDR=YES;IMEX=1";

HDR 表示第一行是否字段名
IMEX=1 解决数字与字符混合时,识别不正常的情况.

可以解决问题,但回帖的好像也有人说问题没解决的,但我的测试结果是可以的

出处:http://www.sql-club.com/Sunwei/archive/2006/04/26/536.aspx?Pending=true

转载于:https://www.cnblogs.com/waitrabbit/archive/2007/06/20/790600.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值