列不执行公式Excel / C#/ EPPlus

我有这个Excel工作表,我用EPPlus的C#.NET应用程序产生,我有一个公式,除非我手动单击单元格,然后按Enter键将不会执行。

这是我当前的输出(第一个值是F列,第二个是G):

02:10:58 04:30:00 =F1/G1 01:50:52 04:06:00 =F2/G2 

这应该是这样的:

 02:10:58 04:30:00 0,485061728 01:50:52 04:06:00 0,450677507 

C#端的值初始化为string,这可能是导致错误的原因:

 string performance = "=F" + (list.Count + 2) + "/G" + (list.Count + 2) 

有没有解决方法或其他方式来初始化我的专栏,以直接显示用户的价值?

谢谢!

编辑

创buildexcel文件的代码

 ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Informations_OF"); worksheet.Cells["A1"].LoadFromCollection(list.ToListExport(), true); worksheet.Cells[worksheet.Dimension.Address].AutoFitColumns(); 

看起来你可能在C#代码中设置了单元格的Value属性。 尝试设置公式属性。 噢,在公式定义中删除前面的“=” – EPPlus的文档声明不应该把它放在那里。

用代码示例更新

 var path = @"C:\Temp\EPPlus Demo.xlsx"; var fi = new FileInfo(path); if (fi.Exists) fi.Delete(); using (var pck = new ExcelPackage()) { var wb = pck.Workbook; var ws = wb.Worksheets.Add("Demo"); ws.Cells["A1"].LoadFromCollection(list.ToListExport(), true); for (var r = 2; r <= ws.Dimension.Rows; r++) { ws.Cells[r, 8].Formula = $"F{r}/G{r}"; // Or alternatively, using R1C1 format ws.Cells[r, 8].FormulaR1C1 = "RC[-2]/RC[-1]"; } pck.SaveAs(fi); }