EPPlus 返回#VALUE!而不是随机单元格内容中的值[epplus]

分享于2022年09月08日 .net asp.net c# epplus-4 问答
【问题标题】:EPPlus returns #VALUE! instead of Value from the cell content randomly [epplus]EPPlus 返回#VALUE!而不是随机单元格内容中的值[epplus]
【发布时间】:2022-08-01 23:41:56
【问题描述】:

根据当前要求,我需要使用 EPPlus 从单元格中读取值。此单元格包含公式并在 XL Sheet 中正确显示值。但是当我使用 EPPlus 读取该值时,一些单元格给出了正确的值,但一些单元格给出了错误“#VALUE!”。我在读取值之前使用过“.Calculate()”,但仍然面临同样的问题。请在 c# 中找到以下代码。

totalRecycleWorksheet.Cells[row, colval + 5].Style.Numberformat.Format = "#";

totalRecycleWorksheet.Cells[row, colval + 5].Calculate();

var value = totalRecycleWorksheet.Cells[row, colval + 5].Value;

if (!totalRecycleWorksheet.Cells[row, colval + 5].Value.ToString().Equals("#VALUE!")) {}

这是每个单元格中的公式:

=IF(('Failure Item'!E348+ROUNDUP(('Output'!E348)*$B$1,0)-'Purchased Items'!F348)>0,('Failure Item'!E348+ROUNDUP(('Output'!E348)*$B$1,0)-'Purchased Items'!F348),0)

和值是根据屏幕截图:

您还可以检查我存储在数据表中的输出以检查值:

  • 提供文本而不是图像有助于更快地从社区获得推荐

【解决方案1】:

我看到的唯一示例在工作簿级别调用计算,例如

excelPackage.Workbook.Calculate();

【讨论】:

  • 我这样做了,但没有成功仍然遇到同样的问题。即使我尝试过单个细胞,但结果还是一样。
  • 可能是公式或单元格引用的某种问题,很难说没有看到完整的程序