2017-10-04 3 views
0

J'essaie d'ajouter un nouvel en-tête et de le remplir avec certaines valeurs sur le fichier xlsx existant mais rien n'est écrit dans le fichier.ajouter un en-tête avec des valeurs dans le fichier 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(); 
       } 
      } 
     } 

Que manque-t-il? Je suis nouveau à la bibliothèque EPPlus.

+0

Votre DataTable nécessite d'abord des lignes, par exemple. – Tiramonium

Répondre

1

La bibliothèque EPPlus commence à remplir une feuille à partir d'un point de départ, une cellule, de sorte que la plupart des gens commencent à remplir à partir du premier (A1). Mais si vous préférez (G2), cela devrait fonctionner aussi bien. PS: Lors de la création d'un nouvel ExcelPackage, vous utilisez le chemin du fichier au lieu du nom de fichier.

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); 
    } 
}