2017-07-18 9 views

答えて

1

excelをdatatableに変換する以下の関数を使用することができます。この関数にパスを渡すだけで、この関数はデータテーブルを返します:

public DataTable READExcel(string path) 
    { 
     Microsoft.Office.Interop.Excel.Application objXL = null; 
     Microsoft.Office.Interop.Excel.Workbook objWB = null; 
     objXL = new Microsoft.Office.Interop.Excel.Application(); 
     objWB = objXL.Workbooks.Open(path); 
     Microsoft.Office.Interop.Excel.Worksheet objSHT = objWB.Worksheets[1]; 

     int rows = objSHT.UsedRange.Rows.Count; 
     int cols = objSHT.UsedRange.Columns.Count; 
     DataTable dt = new DataTable(); 
     int noofrow = 1; 

     for (int c = 1; c <= cols; c++) 
     { 
      string colname = objSHT.Cells[1, c].Text; 
      dt.Columns.Add(colname); 
      noofrow = 2; 
     } 

     for (int r = noofrow; r <= rows; r++) 
     { 
      DataRow dr = dt.NewRow(); 
      for (int c = 1; c <= cols; c++) 
      { 
       dr[c - 1] = objSHT.Cells[r, c].Text; 
      } 

      dt.Rows.Add(dr); 
     } 

     objWB.Close(); 
     objXL.Quit(); 
     return dt; 
    } 
+0

ありがとう。そのうまく動作します。 –

関連する問題