我正在尝试通过.NET(C#)
阅读excel电子表格以下是我使用的连接字符串:
Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Windows\TEMP\96e7a8b720b642388d9dbbca49537678.xls; Extended Properties="Excel 8.0;HDR=Yes;IMEX=1;TypeGuessRows=0;ImportMixedTypes=Text";
当我使用以下方式查看架构时:
using (var conn = new OleDbConnection(connStr))
{
conn.Open();
result[OleDbSchemaGuid.Tables] = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
result[OleDbSchemaGuid.Columns] = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, null);
result[OleDbSchemaGuid.Tables_Info] = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables_Info, null);
conn.Close();
}
在result[OleDbSchemaGuid.Columns]
中 - 所有列名都被截断为前64个字符。
我需要所有列的全名。
有什么想法解决这个问题?
很高兴看到这个问题。
答案 0 :(得分:0)
编辑:
也可以在不使用任何第三方提供商的情况下完成。我今天在Microsoft's Support Site看了这个。根据它们的限制Jet 4.0LEDB Source
。