首页 > 解决方案 > EPPLUS 生成的 xlsx 文件需要在打开时恢复

问题描述

我正在使用 EPPLUS 生成报告,效果很好。

如果我在某些单元格的公式属性中分配了有效的 excel 公式,公式被拒绝,我会收到警告:“我们发现...中的某些内容有问题”和“已删除记录:来自 /xl/worksheets/sheet2 的公式。 xml 部分”。

公式如下所示:"=IF(Worksheet1!C9-Calculation!$B$1=0;24;IF(Worksheet1!C9-Calculation!$B$1<0;Worksheet1!C9-Calculation!$B$1+24;Worksheet1! C9-Calculation!$B$1))”,如果我将它直接粘贴到 Excel 中,它就可以工作。

我的公式相关代码如下所示:

ExcelPackage excel = new ExcelPackage();
excel.Workbook.Worksheets.Add("Worksheet1");
excel.Workbook.Worksheets.Add("Calculation");
ExcelWorksheet worksheet = excel.Workbook.Worksheets["Worksheet1"];
ExcelWorksheet worksheet2 = excel.Workbook.Worksheets["Calculation"];

for (int c = 1; c <= monthcnt; c++)
{
    NumColumns cellAddr = (NumColumns)c;

    string addr1 = string.Format("Worksheet1!{0}{1}", cellAddr.ToString(), 8);
    worksheet2.Cells[addr1].Formula = string.Format("={0}-Calculation!$B$1", addr1);
    string addr2 = string.Format("Worksheet1!{0}{1}", cellAddr.ToString(), 9);
    worksheet2.Cells[addr2].Formula = string.Format("=IF({0}-Calculation!$B$1=0;24;IF({1}-Calculation!$B$1<0;{2}-Calculation!$B$1+24;{3}-Calculation!$B$1))", addr2, addr2, addr2, addr2);
}

有人知道这是什么原因吗?在此先感谢, 西尼萨

标签: epplus

解决方案


推荐阅读