gpt4 book ai didi

c# - Excel 无法识别来自 closedXML/c# 的公式

转载 作者:行者123 更新时间:2023-11-30 21:45:31 28 4
gpt4 key购买 nike

Info: The following code is in a foreach loop

作品:

indexSheet.Cell("G" + cellIndex).FormulaA1 = "=SUM(A1:A10)";

仅在我直接在 excel 中输入时有效:

indexSheet.Cell("G" + cellIndex).FormulaA1 = "=FIND(\"erw\";H5)"; // with Property
indexSheet.Cell("G" + cellIndex).SetFormulaA1("=FIND(\"erw\";H5)"); //with Function
indexSheet.Cell("G" + cellIndex).FormulaA1 = $"COUNTIF(H{cellIndex};\"*\"&$C$2&\"*\")*(MAX($G$4:G{cellIndex - 1})+1)";
indexSheet.Cell("B" + cellIndex).FormulaA1 = $"=IF(ROW()-{cellIndex}>MAX(G:G);\"\";HYPERLINK(CONCATENATE(\"#\";(INDEX(H:H;MATCH(ROW()-4;G:G;0)));\"!B{cellIndex}\");(INDEX(H:H;MATCH(ROW()-4;G:G;0)))))";

我已经检查/尝试过:

  1. 因为在stackoverflow中存在类似的情况:如果我的函数语言与我的excel语言匹配(都是英文)
  2. 我试过更简单的公式是否像 SUM()FIND() --> (-SUM 有效,FIND 无效)
  3. 我直接在 excelsheet 中输入公式(公式在这里工作)
  4. 我在没有“cellindex”变量的情况下使用硬编码的单元格信息在循环外进行了尝试
  5. 检查了封闭的 XML 文档
  6. 公式开头有等号和没有等号
  7. 我尝试使用 closedXML Vers。 0.76.0 和 0.80.1(最新稳定版)

Excel 显示如下: Picture1

还有这个: Picture2

图 2 中的链接 XML 日志文件包含有关已删除部分的信息

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
<logFileName>error035720_03.xml</logFileName><summary>Errors were detected in file 'C:\Users\XXX\Documents\Output\CodeBook.xlsx'</summary>
<removedRecords>
<removedRecord>Removed Records: Formula from /xl/worksheets/sheet.xml part</removedRecord>
<removedRecord>Removed Records: Formula from /xl/calcChain.xml part (Calculation properties)</removedRecord>
</removedRecords>
</recoveryLog>

最佳答案

您不能使用分号 (;) 来分隔 closedxml 中的参数。像这样使用逗号(,):

indexSheet.Cell("G" + cellIndex).FormulaA1 = "=FIND(\"erw\",H5)";

这就是为什么 SUM(range) 有效但 FIND(find_text;within_text) 无效的原因...

关于c# - Excel 无法识别来自 closedXML/c# 的公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40088546/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com