我必須爲財務dpt自動化一些東西。我已經得到了我想要使用的OleDb讀取Excel文件:C#Excel文件OLEDB讀取HTML導入
string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=A_File.xls;Extended Properties=""HTML Import;IMEX=1;""";
using (OleDbConnection connection = new OleDbConnection())
{
using (DbCommand command = connection.CreateCommand())
{
connection.ConnectionString = connectionString;
connection.Open();
DataTable dtSchema = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
if((null == dtSchema) || (dtSchema.Rows.Count <= 0))
{
//raise exception if needed
}
command.CommandText = "SELECT * FROM [NameOfTheWorksheet$]";
using (DbDataReader dr = command.ExecuteReader())
{
while (dr.Read())
{
//do something with the data
}
}
}
}
通常情況下,connectionstring
將有一個擴展屬性「的Excel 8.0」,而是因爲它似乎是文件不能讀取方式一個html文件重命名爲.xls。 當我從XLS中的數據複製到一個新的XLS,我可以讀取與E.P.新XLS設置爲「Excel 8.0」。
是的,我可以通過創建一個Excel的實例讀取該文件,但我寧願不.. 任何想法,我可以怎樣使用的OleDb無需對XLS手動更改或通過在實例化與範圍打讀取XLS Excel中?
問候,
米歇爾
謝謝你的回答,它看起來像它會做的伎倆。我不得不完成我的程序,所以我現在通過實例化Excel來實現它。當我獲得時間時,我會修改代碼! – 2009-08-17 07:21:07
這是一個重要的事情,如果你的HTML文件沒有在元數據中的