首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OleDbConnection中的IMEX

OleDbConnection中的IMEX
EN

Stack Overflow用户
提问于 2012-11-13 16:27:39
回答 2查看 1.4K关注 0票数 0

我正在尝试将excel文件读入DataTable,但是IMEX驱动程序不能读取列中的所有数据。这里面有什么问题呢?

代码语言:javascript
复制
OleDbConnection dCon = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName + ";Extended Properties=HDR=YES;Excel 12.0;IMEX=1");

下面是代码。

代码语言:javascript
复制
OleDbConnection dCon = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" +
            fileName + ";Extended Properties=HDR=YES;Excel 12.0;IMEX=1");

OleDbDataAdapter dAdp = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", dCon);
dAdp.TableMappings.Add("tbl", "Table");
dAdp.Fill(dSet);
DataTable dT = dSet.Tables[0];

for (int i = 0; i < dT.Rows.Count; i++)
{
     //code for getting the values.
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-13 18:00:43

问题是这样做有255个字符的限制。

您可能需要考虑使用Microsoft.Office.Interop.Excel程序集来获得更好的解决方案。

http://www.dotnetperls.com/excel

票数 1
EN

Stack Overflow用户

发布于 2013-10-31 01:55:04

我意识到这对于OP来说有点晚了,但由于我遇到了它,我想补充一句,我认为这个示例中的扩展属性部分是错误的。扩展属性需要单独放在自己的引号中,以便进行适当的处理。

OPs示例使用了以下内容

新扩展OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source== OleDbConnection dCon“+ fileName +”;

Properties=HDR=YES;Excel 12.0;IMEX=1");

我相信这应该是

新的OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source== OleDbConnection dCon“+ fileName +”;

Properties=\"HDR=YES;Excel 12.0;IMEX=1\"");

使用此格式错误的连接时,可能无法识别IMEX属性。

有关可能的连接字符串语法选项(包括扩展属性的语法选项)的信息,请参阅this MS article

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13357526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档