0

DataSetからExcelスプレッドシートにデータを転送するための自家製のユーティリティがあります。列の1つに数式(例: "= + RC [-2] -RC [-1]")を入れたい。ただし、Excelはそれを文字列として扱い、数式として解釈していません。このユーティリティは、オブジェクトの配列を作成してExcelの範囲に転送します。これは問題ですか?過去に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;
   }
4

2 に答える 2

2

Excelに数式として処理させるには、.Formulaプロパティを使用する必要があります。

((Range)worksheet.Cells[row, col]).Formula = myFormula
于 2012-08-03T20:57:11.743 に答える
1

.FormulaオブジェクトのorFormulaR1C1プロパティを使用する必要がありRangeます。

string s = "=+RC[-2]-RC[-1]";
...
oRng.FormulaR1C1 = s;
于 2012-08-03T20:54:56.050 に答える