奇怪的问题:读取Execl文件数据时,部份字段值为空?

wsydl 2007-08-14 02:28:51


execl文件部份内容:
762025749 张三 A01979711
762299214 李四 2620262876
761837396 王五 2687620032
761957346 Xx 6262087112
761026970 YY 8620276258
761734164 zz 8620176296

通过OleDbConnection连接Execl文件后,用
MyApt = New System.Data.OleDb.OleDbDataAdapter("SELECT * FROM [Sheet1$]", Conn)
MyApt.Fill(MyDataSet, "Table1")
填充到DataSet中,绑定到DataGridView中时,部份字段值丢失:
762025749 张三
762299214 李四 2620262876
761837396 王五 2687620032
761957346 XX 6262087112


请问是怎么会事?怎么解决?
...全文
328 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wsydl 2007-08-16
  • 打赏
  • 举报
回复
自已给自己加分?

不过你说的对,问题解决了,是应该结贴了。
zuoguangxin18 2007-08-16
  • 打赏
  • 举报
回复
你应给wsydll加分啊,我来晚了。
xiebinren 2007-08-15
  • 打赏
  • 举报
回复
在EXCEL中的文件 
762025749 张三A01979711
762299214 李四2620262876
761837396 王五2687620032
761957346 Xx6262087112
761026970 YY8620276258
761734164 zz8620176296
的最前面加一行,如:
程序   程序 程序
762025749 张三A01979711
762299214 李四2620262876
761837396 王五2687620032
761957346 Xx6262087112
761026970 YY8620276258
761734164 zz8620176296
导入进去,读的时候,因为第一行不是数字和字母那种格式的话,就默认整个是文本,
导进去后,你就把第一行删掉就OK.我以前也遇到过这情况.
foxfab 2007-08-14
  • 打赏
  • 举报
回复
呵呵,迅速解決。頂下,來晚了
wsydl 2007-08-14
  • 打赏
  • 举报
回复
感谢shiliangdong(Stou)的提示,问题已解决。

搜索Execl的OLEDB连接字符串:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1";

发现 IMEX=1 选项可控制数据格式。
IMEX的说明如下:
"IMEX=1;" tells the driver to always read "intermixed" (numbers, dates, strings etc) data columns as text. Note that this option might affect excel sheet write access negative.

大体意思好像是说把Execl单元格中的数据当作数字、混合、字符处理?
我E文不好,翻译不出来,请精通此道的帮忙译下,谢谢。
stou 2007-08-14
  • 打赏
  • 举报
回复
导入也是这样的问题,一个字段只能是纯数字,数据加字母的.这两个东东不能共有.建议分开,或者想其它办法.
wsydl 2007-08-14
  • 打赏
  • 举报
回复
补充:我已把Execl文件中的所有单元格格式设为“文本”格式。结果单元格值形如 A01979711 格式的全部丢失;如果采有默认的单元格格式,其它的值又全部丢失。

我快晕了,那位大大遇过此类情况?是怎么解决的?

100分救助!

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧