OleDB を使用して Excel ファイルを作成しています。完全に機能します。次に、Office Excel で直接使用してファイルに行を追加します。その後、OleDB を使用してファイルを再度読み取ろうとすると、手動で追加した行は表示されず、ファイルを作成したときに書いた列と行。
コードは次のとおりです。
//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();
それは完全に機能し、ファイルは正しく作成されます。次に、変更後にファイルを読み込もうとすると、これを実行します
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 を使用して追加した行は含まれていません。
私はこれを理解していません、私を助けてもらえますか?
前もって感謝します