C# Excel don';无法识别closedXML/c中的公式#
信息:以下代码位于foreach循环中 有效:C# Excel don';无法识别closedXML/c中的公式#,c#,excel,excel-formula,formulas,closedxml,C#,Excel,Excel Formula,Formulas,Closedxml,信息:以下代码位于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\";H
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)))))";
我已检查/尝试:
indexSheet.Cell("G" + cellIndex).FormulaA1 = "=SUM(A1:A10)";
SUM()
或FIND()
-->(“SUM有效,FIND无效”)<?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>
error035720_03.xml在文件“C:\Users\XXX\Documents\Output\CodeBook.xlsx”中检测到错误
删除的记录:公式来自/xl/worksheets/sheet.xml部分
删除的记录:来自/xl/calcChain.xml部分的公式(计算属性)
不能在closedxml中使用分号(;
)分隔参数。像这样使用逗号(,
):
indexSheet.Cell("G" + cellIndex).FormulaA1 = "=FIND(\"erw\",H5)";
这就是为什么SUM(range)
有效,而FIND(FIND_text;inthew_text)
无效的原因