首页 文章

使用C#双引号的Excel公式

提问于
浏览
2

我想在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 回答

  • 1

    如果有人随后遇到这个帖子,我相信问题是大于号 . 它与XML中的结束标记混淆了 . 因此需要将其替换为&gt(正如您所说的sheet3.xml所包含的那样) . 我认为双引号很好,因为你有它们 - 用前面的反斜杠转义 .

  • 0

    我没有成功找到为什么在excel公式中没有双引号的原因 . 但是有一个避免双引号的解决方案:

    string formula =“= COUNTIFS({0}!E:E,{1},{0}!A:A,CONCATENATE(CHAR(62),CHAR(48)))”;

相关问题