0
我創建一個使用OleDB的Excel文件,它完美的工作,接下來,我直接在Office Excel中添加行到文件,之後,當我嘗試再次使用OleDB讀取文件時,行我手動添加不會出現,只有我創建文件時寫的列和行。缺失的行讀取生成的Excel文件
下面是代碼:
//Creation of the file
String connectionString = "Provider=Microsoft.Jet.OleDb.4.0; Data Source=" + path + "; Mode=ReadWrite; Extended Properties= 'Excel 8.0; HDR=Yes; IMEX=0'";
OleDbConnection oledbconnection;
oledbconnection = new OleDbConnection(connectionString);
oledbconnection.Open();
String query = "CREATE TABLE [Sheet1] (....) ";
OleDbCommand cmd = new OleDbCommand(query, oledbconnection);
cmd.ExecuteNonQuery();
oledbconnection.Close();
它完美的作品,該文件是正確創建的,那麼,當試圖讀取IM文件後修改它,我在做這個
String connectionStringRead = "Provider=Microsoft.Jet.OleDb.4.0; Data Source=" + path + "; Extended Properties= 'Excel 8.0; HDR=Yes; IMEX=1'";
OleDbConnection oledbconnection;
oledbconnection = new OleDbConnection(connectionStringRead);
oledbconnection.Open();
DataTable table = new DataTable();
String sheetName;
sheetName = oledbconnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null).Rows[0]["TABLE_NAME"].ToString();
OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM [" + sheetName + "]", oledbconnection);
adapter.Fill(table);
oledbconnection.Close();
return table;
該表僅包含原始信息,而不包含使用MS Excel添加的行。
我不明白這一點,你能幫助我嗎?
在此先感謝
非常感謝,它的工作原理! – JuanS