我想在C#中使用SpreadSightLight在Excel单元格中编写公式 . 我在excel中有以下公式
=COUNTIFS(Sheet2!E:E, D2, Shet2!A:A, ">0")
在它看起来的代码中
"=COUNTIFS({0}!E:E,{1},{0}!A:A ,\">0\")";
我从代码中保存文件,但是当我尝试打开文件时,Excel(2013)会显示错误消息并删除公式
删除记录:来自/xl/worksheets/sheet3.xml部分的公式
并且sheet3.xml包含以下行
COUNTIFS(Sheet2!E:E, D2, Sheet2!A:A ,">0")
我尝试了逐字字符串和char(34)解决方案,但导致相同的错误 .
我怎么解决这个问题?提前致谢 .
2 回答
如果有人随后遇到这个帖子,我相信问题是大于号 . 它与XML中的结束标记混淆了 . 因此需要将其替换为&gt(正如您所说的sheet3.xml所包含的那样) . 我认为双引号很好,因为你有它们 - 用前面的反斜杠转义 .
我没有成功找到为什么在excel公式中没有双引号的原因 . 但是有一个避免双引号的解决方案: