EPPlus n'insère pas correctement la formule

J'utilise EPPlus pour manipuler un file Excel. Je dois insert une formule qui fait reference à une colonne entière. J'utilise actuellement:

currentWorksheet.Cells[2, 4].Formula = "QUARTILE(C:C,1)"; 

Si je saisis manuellement cette formule dans la feuille Excel, elle fonctionne, ou si je l'insère avec une plage finie dans EPPlus, j'aime:

 =QUARTILE(C2:C1000,1) 

Mais quand il est inséré comme une gamme de colonnes entière de C: C à l'aide d'EPPlus, il en résulte ce qui suit:

 =QUARTILE(#REF!,1) 

Existe-t-il quelque chose de spécial pour referencer des colonnes entières, ou est-ce juste un bug dans EPPlus?

Stewart est correct en ce sens que la formule devrait être valide. Essayez de coller le rest de votre code. Je pensais set un test d'unité rapide et cela fonctionnait bien:

 [TestMethod] public void Quartile_Range_Test() { //Throw in some data var dtMain = new DataTable("tblData"); dtMain.Columns.Add(new DataColumn("Col1", typeof(int))); for (var i = 0; i < 20; i++) { var row = dtMain.NewRow(); row["Col1"] = i * 100; dtMain.Rows.Add(row); } //Clear the file var newFile = new FileInfo(@"C:\Temp\Temp.xlsx"); if (newFile.Exists) newFile.Delete(); using (var package = new ExcelPackage(newFile)) { var currentWorksheet = package.Workbook.Worksheets.Add("Test"); currentWorksheet.Cells["C1"].LoadFromDataTable(dtMain, false); currentWorksheet.Cells[2, 4].Formula = "QUARTILE(C:C,1)"; package.Save(); } } 

Vous pouvez utiliser le code suivant

 worksheet.Cells["A1"].Formula= "=QUARTILE(C2:C1000,1)";