【发布时间】:2013-12-10 13:51:18
【问题描述】:
我正在使用oledb 从 excel 文件中读取数据。
DataTable sheet1 = new DataTable();
string excelCS = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";" + "Extended Properties=\"Excel 12.0 Xml;HDR=NO;TypeGuessRows=0;ImportMixedTypes=Text\"";
using (OleDbConnection connection = new OleDbConnection(excelCS))
{
connection.Open();
string selectSql = @"SELECT * FROM [Sheet1$]";
using (OleDbDataAdapter adapter = new OleDbDataAdapter(selectSql, connection))
{
adapter.Fill(sheet1);
}
connection.Close();
}
但是文件的某些单元格存在问题。
对于某些单元格,我得到一个空值而不是文本。我试图将一些其他文本放入这些单元格中,但没有奏效——我仍然得到空字符串。 但是在删除列并再次插入后,我的应用程序得到了正确的单元格值。重要的是问题不在于列中的所有单元格。
这是单元格格式的问题还是什么?这个 excel 文件将由另一个系统生成,所以我无法手动修改它。
有没有人建议什么是错的,我该怎么办?
【问题讨论】:
-
你试过
IMEX=1吗? -
谢谢,我第一次这样做,我不知道。现在它完美地工作了。非常感谢!
-
很高兴它有帮助。阅读HERE 了解更多关于 IMEX 的信息