Microsoft.Jet.OLEDB.4.0 读Excel

wackyboy 2010-12-21 03:15:19
各位
Microsoft.Jet.OLEDB.4.0读Excel的时候遇到一个问题

第一行是标题,字符串的
Excel中最后一列存的是电话号码,

列1 列2 tel
A B 123456789
B C 213445234
C D 123123123
D E 443232122
E F 112233312
F G 123123321

这样Fill到DataSet中只有两列,将最后一列丢了
但是如果打开Excel,不操作保存,是可以读的。

另:
Excel是邮件的附件直接保存的,出现上述问题
连接字符串也有HDR=yes;IMEX=1;
不管认为第一行是不是标题都丢掉一列
IMEX=1 根本就不管用

请问有没有其他的方法来解决
谢谢
...全文
127 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
孟子E章 2010-12-21
  • 打赏
  • 举报
回复
在使用 ADO.NET 导出 Excel 文件时,设置 IMEX=1 仍不能导出所有数据的解决办法

http://dotnet.aspx.cc/file/ADO.NET-Excel-IMEX=1.aspx
wackyboy 2010-12-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 liuwei2500 的回复:]
HDR=NO 即无字段
HDR=yes 即有字段,一般默认excel表中第1行的列标题为字段名,如姓名、年龄等

IMEX 表示是否强制转换为文本
IMEX有三个值0,1,2,
意义如下:
0 ---输出模式;
1---输入模式;
2----链接模式(完全更新能力)
换成输出模式试试。
[/Quote]

0 1 2 都用了 结果一样

我想原因是 Excel引擎会根据列的内容判断这列的格式 最后一列因为是数字 所以按照数字读取
标题的话因为不是数字 返回null 这样就认为没有列了 就丢了
不知道对不对
wackyboy 2010-12-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zgke 的回复:]
你的到底是EXCEL格式还是csv格式的..还是就个HTML啊.
[/Quote]

Excel啊 csv就一行一行取了
liuwei2500 2010-12-21
  • 打赏
  • 举报
回复
HDR=NO 即无字段
HDR=yes 即有字段,一般默认excel表中第1行的列标题为字段名,如姓名、年龄等

IMEX 表示是否强制转换为文本
IMEX有三个值0,1,2,
意义如下:
0 ---输出模式;
1---输入模式;
2----链接模式(完全更新能力)
换成输出模式试试。

zgke 2010-12-21
  • 打赏
  • 举报
回复
你的到底是EXCEL格式还是csv格式的..还是就个HTML啊.

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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