我正在使用ASP.NET打開託管在服務器上的Excel 2003文檔。 excel電子表格由我的控制系統以外的系統生成,有5個命名工作表。我訪問數據在每個片材如下(換行添加用於可讀性):使用Jet訪問某些Excel工作表時出錯
string ExcelConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\sample.xls;
Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1;\";";
OleDbDataAdapter myData =
new OleDbDataAdapter("SELECT * FROM [mysheet]", ExcelConn);
myData.TableMappings.Add("Table", "mysheet");
myData.Fill(ExcelDS);
這適用於5片3。另外兩個拋出這個錯誤:
=CELL("filename")
c:\[sample.xls]mysheet
:
The Microsoft Jet database engine could not find the object 'mysheet'. Make sure the object exists and that you spell its name and the path name correctly.
我已經通過審查,這產生在Excel中字符串的結尾在底部標籤審查文本,並四核對錶名稱
連接字符串被指定一次並重用於所有5張。
是否有可能需要使用與Excel中可見的名稱不匹配的字符串引用表單?也許隱藏的字符,空格等?是否有另一種方法來查找工作表的真實姓名?任何其他建議檢索這些數據?
注意:我無法修改Excel文檔(如果我可以用我的方式,我會使用SSIS導入CSV)。
我正在使用.NET 3.5/II6。