epplus - 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);
}
有人知道这是什么原因吗?在此先感谢, 西尼萨
解决方案
推荐阅读
- r - 如何更改 BIG 数据框格式:患者有 2 次就诊,每次就诊有多个变量
- javascript - 根据所选值显示数组中的值(从数组构建字符串)
- hadoop - 为什么 map 任务在 MapReduce 中将其输出写入磁盘?
- javascript - 测试异步- Promise Jest
- laravel - 路由 [/download] 未定义。(看法:
- android - 如何添加请求正文?
- tableau-api - 不同窗格中类别的总数百分比
- javascript - 从 Electron 预加载脚本中检索更详细的错误
- servicestack - 如何使用自动查询返回多对多关系的嵌套对象
- php - 如何让 Mercure 服务器自动推送给事件订阅者?