我有一个自制的实用程序,用于将数据从DataSet传输到Excel电子表格。我想在其中一列中加上一个公式(例如“= + RC [-2] -RC [-1]”)。但是,Excel将其视为字符串而不是将其解释为公式。该实用程序创建一个对象数组并将其传输到Excel中的Range。这是问题吗?我过去曾向Excel编写公式,但仅限于写入单个单元格时。
for (int r = 0; r < nr; r++)
{
r = dt.Rows[r];
nOut++;
aRng = new object[nc];
for (int c = 0; c < nc; c++) else aRng[c] = dr[c];
oRng = oSheet.get_Range(CellAddress(nOut, 1), CellAddress(nOut, nc));
oRng.Value2 = aRng;
}
答案 0 :(得分:2)
您必须使用.Formula属性才能强制excel将其视为公式。
((Range)worksheet.Cells[row, col]).Formula = myFormula
答案 1 :(得分:1)
您必须使用.Formula
对象的FormulaR1C1
或Range
属性。
string s = "=+RC[-2]-RC[-1]";
...
oRng.FormulaR1C1 = s;