【发布时间】:2014-09-11 23:07:21
【问题描述】:
我正在使用 ACE 提供程序读取 Excel 表,并且某些单元格包含大于 255 字节的数据。我尝试更改注册表设置中的 TypeGuessRows 以及从连接字符串中进行设置。我仍然在代码中得到截断值。我无法重组 excel 表或使用其他提供商。我运行 64 位窗口。我的office版本是2013。(有点怀疑是不是因为这个)。
这是我的连接字符串;对于那些数据
var connectionString = string.Format("provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName + ";Extended Properties=\"Excel 12.0;IMEX=1;HDR=YES;TypeGuessRows=0;ImportMixedTypes=Text\"");
有什么解决办法吗?提前致谢。
【问题讨论】:
-
过去 Excel 被限制为每个单元格 255 个字符,也许这就是根本原因?
-
您是否尝试删除
ImportMixedTypes=Text部分? -
@Steve:是的,我做到了。仍然得到截断的值。
-
好吧,我已经阅读了您关于不更改 Excel 文件的要求,但只是为了测试,如果您在工作表的开头添加超过 255 个字符的行会发生什么情况?您是否还可以将以下行作为备注字段而不是文本字段读取?
-
抱歉,我不知道 MEMO 字段是什么。我在第七行有两个相邻的单元格,有超过 255 个字符,从代码中读取时会被截断。显然,我得到的这两个单元格的截断值完全相同(其中包含相同的数据)。
标签: c# .net sql-server excel vba