2011-09-08 13 views
0

ユーザーがボタンをクリックしてExcelファイルを参照し、データベースに作成されたデータテーブルにデータがコピーされるアプリケーションを作成しています。私はVS2008とSQL Server 2005のVisual Studio 2008を使用してSQL Serverテーブルに内容をExcel

を使用しています

私はもちろんのファイルを開くためのコードを書いた、とは.csファイルでのdataTableとそのDataColumnsのを作成しました。他に何をすべきですか?

ありがとうございます。

+0

は(HTTP [ここ]私のanswereを見てください/stackoverflow.com/questions/4942464/excel-to-datatable/4942571#4942571) – Willem

答えて

0

あなたは異なる要件を持っている場合は、私に教えてください

string excelConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("ImportFile.xls") + ";Extended Properties=""Excel 8.0;HDR=Yes;"""; 
    using (OleDbConnection connection = new OleDbConnection(excelConnectionString)) 
    { 
     OleDbCommand command = new OleDbCommand("Select * FROM [NameOfTheDataSheet$]", connection); 
     connection.Open(); 

     using (DbDataReader dataReader = command.ExecuteReader()) 
     { 
      string sqlConnectionString = "SQL Connection String"; 
      using (SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlConnectionString)) 
      { 
       bulkCopy.DestinationTableName = "ExcelDataTable"; 
       bulkCopy.WriteToServer(dataReader); 
      } 
     } 
    } 

SQL Serverテーブルにデータをダンプするために、次のコードのように書くことができます。

0

あなたはKrishnaが勧告したようにすることができますが、このコードはExcelファイルとデータベース列の列数と順序が同じ場合にのみ有効です。ラインの下の保守性とのマッピングを容易にするため、私は非常にあなたがこの記事のようにSQLにExcelとのLINQへのLINQの組み合わせを使用することをお勧め:/:

http://solidcoding.blogspot.com/2008/01/linq-to-excel-sql-import.html

関連する問題