C#导出EXCEL时写公式如何转义
C#转义后写到EXCEL的公式不正确,如何将转义的再反转回去呢?
原语句:((Excel.Range)mSheet.Cells[I, J]).FormulaR1C1 = "=SUMIF(R7C" + (iRowLn + 5).ToString() + ":R" + (iDefCode + 6).ToString() + "C" + (iRowLn + 5).ToString() + ",LEFT(RC[-" + (J - 1).ToString() + "],1)" + " & \"G\",R[-" + (I - 7).ToString() + "]C:R[-" + (I - iDefCode - 6).ToString() + "]C)", 重点在\"G\"拼凑子字串AG等,(这里用于判断原始数据中次品代码AG开头,4G开头,1G开头)
实现如下的:
A - Defect(G) 442
4 - Defect(G) 85
1 - Defect(G) 169
2 - Defect(G) 72
3 - Defect(G) 1
A - Defect 99
4 - Defect 84
1 - Defect 24
2 - Defect 112
3 - Defect 16
A - PPM 548
4 - PPM 464
1 - PPM 133
2 - PPM 619
3 - PPM 89
FPY(Cal. As PPM) 1167
GType PPM 4242
G002 PPM 519
G003 PPM 243
G004 PPM 712
G011 PPM 552
G012 PPM 2218
但是C#得到的结果为:"=SUMIF(R7C145:R189C145,LEFT(RC[-1],1) & \"G\",R[-185]C:R[-3]C)",到这里前面的语法都是符合C#的,但C#的这个结果赋值给:((Excel.Range)mSheet.Cells[I, J]).FormulaR1C1 时则会导致EXCEL出错,问题出在转义后不能得到带双引号的字符"G",有人能帮忙看看究竟怎么转。