【发布时间】:2022-01-18 21:23:14
【问题描述】:
图形不再适用于 EPPlus 版本 4.0.5,我升级到版本 5.8.4 但我发现自己使用的是在某些情况下不再适用的 FormulaR1C1。
如果我分配一个使用右侧单元格值的 FormulaR1C1,则该值始终为 0。而如果我使用左侧单元格执行相同的操作,则 FormulaR1C1 会很好地转换为地址并重新发现值。下面是我的文字的解释性图像。当请求计算时,C 和 D 列的值具有正确的值。
foreach (ExcelRangeBase c in ws.Cells.Reverse())
{
ExcelRangeBase newCells = assignCell(c, params);
if (newCells != null)
{
string valeur = (c.Value ?? "").ToString();
if (valeur.StartsWith("{=") && valeur.EndsWith("}"))
{
newCells.FormulaR1C1 = "RC[+1]/RC[+2]"; //Simplify for the example but comes from the decomposition of 'valeur'
}
newRanges.Add(newCells);
}
}
ws.Workbook.CalcMode = ExcelCalcMode.Automatic;
ws.Calculate();
我在生成过程中没有错误。打开生成的文件时,出现损坏错误。
【问题讨论】:
-
“图形不再适用于 EPPlus 版本 4.0.5”是什么意思?也许这是XY problem。
-
EPPlus 5 是一个商业产品,也许他们的支持团队中的某个人可以提供帮助 - 或者您可以提出 GiHub 问题 - 似乎更有可能是产品中的错误,而不是这里有人可以帮助您:github.com/EPPlusSoftware/EPPlus/issues
-
@TechInquisitor 对于图形,我使用模板。并且系列值不再更新。
-
@SBFrancies 我知道 EPPlus 5 现在是一个商业产品(暂时在 POC 中知道它是否允许我们找到我们的功能)。感谢 Github 链接(我认为它只有在我们获得许可后才能访问,而不是之前)。
-
我的意思是,为什么不坚持使用 EPPlus 4.x?什么停止工作,为什么不继续使用有效的版本? 5.x 中的许可证更改是坚持使用旧版本的另一个令人信服的理由。你甚至可以分叉它们并继续开发它们。
标签: c# excel-formula epplus