Don't think you are, know you are

博客园 首页 新随笔 管理

当客户提出来将数据录入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

posted on 2007-06-20 16:12  炭炭  阅读(3526)  评论(0编辑  收藏  举报