2012-01-24 1 views
1

最初の行がヘッダー(HDR = 1)であるExcelファイルからSQL Server 2008データベースのデータをインポートしています。事は、2番目の行は、私が本当にインポートする必要がないヘッダーの一種でもあるということです。だから、どのように私はその最初の行がヘッダー、Excelの実際の2番目の行が最初である場合(私は推測する)から2番目の行を無視するのですか?SQLデータベースにExcelファイルをインポートすると、2行目を無視する方法。 asp.net&C#

MySQLでは、インポートコマンドの最後にIGNORE LINES 1と書かれています... SQL Serverではどのようにしますか?ここで

はそれをやってコードの一部です:

//Create Connection to Excel work book 
      OleDbConnection excelConnection = new OleDbConnection(excelConnectionString); 


      //Create OleDbCommand to fetch data from Excel 
      OleDbCommand cmd = new OleDbCommand("Select [task_code],[status_code],[wbs] from [task$]", excelConnection); 

      excelConnection.Open(); 
      OleDbDataReader dReader; 
      dReader = cmd.ExecuteReader(); 
      SqlBulkCopy sqlBulk = new SqlBulkCopy(connectionString); 
      //Give your Destination table name 
      sqlBulk.DestinationTableName = "task"; 
      sqlBulk.WriteToServer(dReader); 
      sqlBulk.Close(); 

おかげ

+0

読み取り、書き込み前のデータリーダーから二行? –

答えて

1

次を使用します。

... 
OleDbDataReader dReader; 
dReader = cmd.ExecuteReader(); 
if(!dReader.Read() || !dReader.Read()) 
    return "No data"; 
SqlBulkCopy sqlBulk = new SqlBulkCopy(connectionString); 
... 
+0

素晴らしい...私は本当にif文の論理を理解できません、どうして行をスキップするのですか?しかしthankssssssss :) – Pepys

+0

私はちょうど私がいくつかの行を失うことがわかりました...あなたは少し説明することができますそれは何を確認することになっていますか?ありがとう – Pepys

+1

2つの行を読み込み、最初の2行をスキップします。存在しない場合は、 –

1

迅速な解決をすることです:

  1. コピーファイル
  2. 、Officeの相互運用
  3. スプレッドシートの2行を削除するにはインポートしたスプレッドシートから行を削除する改正スプレッドシート

public static void DeleteRow(string pathToFile, string sheetName, string cellRef) 
{ 
    Application app= new Application(); 
    Workbook workbook = app.Workbooks.Open(pathToFile); 

    for (int sheetNum = 1; sheetNum < workbook.Sheets.Count + 1; sheetNum++) 
    { 
     Worksheet sheet = (Worksheet)workbook.Sheets[sheetNum]; 
     if (sheet.Name != sheetName) 
     { 
      continue; 
     } 

     Range secondRow = sheet.Range[cellRef]; 
     secondRow.EntireRow.Delete(); 

    } 

    workbook.Save(); 
    workbook.Close(); 
    app.Quit(); 
} 
関連する問題