【发布时间】:2016-01-28 01:07:00
【问题描述】:
我正在用 C# 编写一个组件,它使用 Microsoft.ACE.OLEDB.12.0 从 EXCEl 电子表格中返回数据。该电子表格包含带有公式的单元格以及对该工作簿中其他电子表格的引用。这些单元格不向 DataTable 返回数据。请参见下面的示例。
OleDbConnection OleDBconn = new OleDbConnection(string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0 Macro;HDR=Yes;IMEX=1\"",InputFile));
OleDbCommand OleCommand = new OleDbCommand();
OleCommand.Connection = OleDBconn;
OleDBconn.Open();
dtXLS = OleDBconn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
DataTable dt = new DataTable();
OleDbDataAdapter adp = new OleDbDataAdapter(OleCommand);
OleCommand.CommandText = string.Format(@"SELECT [Column] From [Sheet1$]");
adp.SelectCommand = OleCommand;
adp.Fill(dt);
列包含带有公式的单元格和对工作簿中其他工作表的引用。所以 dt[0][Column] 应该有一个值时为空。电子表格中的单元格包含以下参考
=dd!B2
【问题讨论】:
-
到目前为止有什么解决方案吗?我遇到了同样的问题...