嗨,我有 ac# 程序,它给出了 excel2007 范围,它的公式数组如下
Excel.Worksheet ws_res = (Excel.Worksheet)
wb.Worksheets.Add(mis, mis, mis, mis);
Excel.Range range_res = (Excel.Range)ws_res.get_Range("A1","HM232");
range_res.FormulaArray = "=(IF((IF(Sheet4!A1:HM232=1,0,"+
"IF(Sheet4!A1:HM232=0,1,Sheet4!A1:HM232)))=1,0,"+
"IF((IF(Sheet4!A1:HM232=1,0,"+
"IF(Sheet4!A1:HM232=0,1,Sheet4!A1:HM232)))=0,1,("+
"IF(Sheet4!A1:HM232=1,0,"+
"IF(Sheet4!A1:HM232=0,1,Sheet4!A1:HM232))))))";
它给了我一个例外,说公式是错误的...但是如果打开 excel-2007 并在新工作表中(比如说 sheet5)选择范围 A1:HM232 并将上面的公式直接粘贴到公式栏,然后按 Ctrl +Shift+Enter 一起做一切都很好,... 请问你能告诉我如何用 c# 做同样的事情吗?
我知道如果我使用公式数组来使用 R1C1 样式,但如果我使用
"=ROUND((IF(Sheet4!A1:HM232=1,0,"+
"IF(Sheet4!A1:HM232=0,1,Sheet4!A1:HM232))),0)"
它没有给我任何例外,它就像我直接从 c# 和 excel 执行 Ctrl+Shift+Enter 一样执行
对于上述两个公式,我确实将 A1:HM232 更改为 R1C1:R232C221 再次较短的一个在 c# 中可以正常工作,但较长的一个不能!