2017-10-04 10 views
0

新しいヘッダーを追加して、既存のxlsxファイルに値を入力しようとしていますが、ファイルに何も書き込まれません。xlsxファイルに値を含むヘッダーを追加

using (ExcelPackage phone_package = new ExcelPackage(new FileInfo(filename))) 
      { 
       var phone_workbook = phone_package.Workbook; 
       if (phone_workbook != null && phone_workbook.Worksheets.Any()) 
       { 
        var ws = phone_workbook.Worksheets.Add("Country"); 
        var dt = new DataTable(); 
        dt.Columns.Add("Germany", typeof(string)); 
        dt.Columns.Add("Italy", typeof(string)); 
        ws.Cells["G2:G"].LoadFromDataTable(dt, true); 
        phone_package.Save(); 
       } 
      } 
     } 

私は何が欠けていますか?私はEPPlusライブラリが初めてです。

+0

DataTableにはいくつかの行が必要です。 – Tiramonium

答えて

1

EPPlusライブラリは、開始点、セルからシートを塗りつぶし始めます。したがって、ほとんどの人は、最初のもの(A1)以降の塗りつぶしを開始します。しかし、あなたが好むなら(G2)、それもうまくいくはずです。

PS:新しいExcelPackageを作成するときは、ファイル名の代わりにファイルパスを使用します。

using (ExcelPackage phone_package = new ExcelPackage(new FileInfo(filepath))) 
{ 
    var phone_workbook = phone_package.Workbook; 
    if (phone_workbook != null && phone_workbook.Worksheets.Any()) 
    { 
     ExcelWorksheet ws = phone_workbook.Worksheets.Add("Country"); 
     var dt = new DataTable(); 
     dt.Columns.Add("Germany", typeof(string)); 
     dt.Columns.Add("Italy", typeof(string)); 
     ws.Cells["G2"].LoadFromDataTable(dt, true); 
     phone_package.SaveAs(filename); 
    } 
} 
関連する問題