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) 解决方案,但会导致相同的错误。

我怎么解决这个问题?提前致谢。

4

2 回答 2

1

我还没有成功找到无法将双引号写入 excel 公式的原因。但是有一个避免双引号的解决方案:

字符串公式 = "=COUNTIFS({0}!E:E, {1}, {0}!A:A , CONCATENATE(CHAR(62), CHAR(48)))";

于 2013-08-05T10:29:29.013 回答
0

万一有人随后遇到这个线程,我相信问题是大于号。它与 XML 中的结束标记混淆了。所以它需要用 > 替换(正如你所说的 sheet3.xml 包含的内容所暗示的那样)。我认为双引号很好,因为你有它们 - 用前面的反斜杠转义。

于 2016-01-07T02:56:52.493 回答