3 votes

Epplus - Impossible de modifier la valeur ou l'en-tête d'une cellule

J'ai un problème lorsque je change la valeur d'une cellule. Voici mon code :

FileInfo newFile = new FileInfo(file); ExcelPackage pck = new ExcelPackage(newFile);

        var wsData = pck.Workbook.Worksheets.Add("Absent Employee List");
        var dataRange = wsData.Cells["A1"].LoadFromCollection(
                from s in emps
                orderby s.EmployeeCode
                select s,
                true, OfficeOpenXml.Table.TableStyles.Medium2
                );
        wsData.Cells[2, 4, dataRange.End.Row, 4].Style.Numberformat.Format = "dd-mm-yyyy"
        wsData.Cells[2, 5, dataRange.End.Row, 5].Style.Numberformat.Format = "dd-mm-yyyy";

        wsData.Cells["A1"].Value = "Employee Code"; // [1, 1]
        wsData.Cells["B1"].Value = "Full Name"; // [1, 2]
        wsData.Cells["C1"].Value = "Department"; // [1, 3]

        dataRange.AutoFitColumns();

        pck.SaveAs(newFile);

Lorsque j'ouvre le fichier après la création, l'en-tête de A1, B1, C1 n'a pas changé. Ai-je manqué quelque chose ? Merci pour votre aide.

1voto

gib Points 11

Essayez ceci

wsData.Cells[1,1].Value = "Employee Code";
wsData.Cells[2,1].Value = "Full Name";
wsData.Cells[3,1].Value = "Department"; 

C'est ce qui a marché pour moi !

0voto

Bidou Points 695

Il s'agissait d'un bogue dans la bibliothèque, il a été corrigé dans une version antérieure. Vous pouvez trouver la description du bogue ainsi qu'une solution de contournement ici :

https://epplus.codeplex.com/workitem/15245

ExcelTable excelTable = this.worksheet.Tables[0];
excelTable.Columns[1].Name = "Test";

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X