Excel don';无法识别closedXML/c#中的公式

本文关键字:closedXML 识别 don Excel | 更新日期: 2023-09-27 18:13:20

信息:以下代码在foreach循环中

作品:

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. 我直接在Excel表中键入了公式(公式在此处有效(
  4. 我在Loop外部尝试了它,它有一个硬编码的单元格信息,没有"cellindex"-变量
  5. 已签出已关闭的XML文档
  6. 公式开头有等号,没有等号
  7. 我尝试了closedXML Vers。0.76.0和0.80.1(最新稳定值(

Excel显示以下内容:图片1

这个:图片2

图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>

Excel don';无法识别closedXML/c#中的公式

不能在closedxml中使用分号(;(分隔参数。使用逗号(,(如下:

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

这就是CCD_ 5起作用而CCD_ 6不起作用的原因。。。

必须使用逗号(,(分隔参数。不要像excel 那样使用分号(;(