2011-10-27 6 views
1
using (DbCommand command = oconn.CreateCommand()) 
       { 
        command.CommandText = "CREATE TABLE [Sheet2$] (F1 number, F2 char(255), F3 char(128))"; 
        command.ExecuteNonQuery(); 
        for (int i = 1; i <= 20; i++) 
        { 
         //now we insert the values into the existing sheet...no new sheet is added. 
         command.CommandText = "INSERT INTO [Sheet2$] (F1, F2, F3) VALUES(1,\"Fake Record\",\"Fake Record\")"; 
         command.ExecuteNonQuery(); 
        } 
       } 

このコードを使用して、Excelファイルシートにレコードを挿入しています。私がしたいのは、たとえばSheet1がそこにあり、シート2を作成し、そこにこれらのレコードを挿入するかどうかを確認することです。それが3枚しか見つからない場合は、別のシート4を作成してそこにレコードを挿入したいと思います。これどうやってするの?c#excel insertシートの有無を確認する

答えて

5

データスキーマのテーブルをチェックしてください:

DataTable dtSchema = oconn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); 

DataRow[] dr = dtSchema.Select("TABLE_NAME = 'Sheet1$'"); 

bool exist = dr == null || dr.Length == 0; 
関連する問題