希望有人可以在这里帮助我...
我正在尝试将 .xlsx 文件加载到 DataTable 中,然后使用 C#.Net 处理信息。
启动并运行基础知识,使用 OLEDB 连接,加载数据并将其输出到 DataGridView 以检查数据。
我遇到的问题是某些单元格(只有少数)不加载包含在 excel 文件中的数据。例如,在我的示例单元格“C3”中,它是一个通用格式的单元格,就像 excel 中这一行上的所有其他单元格一样,它不会加载其内容。
实际的 Cell 应该作为 MEMBERSHIP 加载,但是在将其输出到 gridview 时它显示为空白,或者在调试 DataRow / Col 值时它是空白的,即使 excel 文件中有该单元格的数据也是如此。如果我将此单元格 MEMBERSHIP 的内容更改为 123456 之类的数字,则它可以加载此值,但如果我将值更改回字符,它会再次返回空白。
大多数单元格(15 个中的 13 个)加载到该行上,除了 2 个,并且它们具有相同的格式。
这是我在代码中使用的连接字符串,实际上是从这个站点获得的:):
try
{
string tabsheet = Path.GetFileNameWithoutExtension(FullFileName);
string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FullFileName + ";" + "Extended Properties='Excel 12.0 Xml;HDR=NO'";
var adapter = new OleDbDataAdapter("SELECT * FROM [" + tabsheet + "$]",connectionString);
adapter.Fill(aDataTable);
}
catch (Exception er)
{
logfile.AddToFile("GetDataTableFromCsv exception: " + er.Message);
}
卡住了,救命!:)