[C#] EXCEL 公式操作

用C#操作EXCEL公式的一些心得

  1. Formula / FormulaR1C1 範例
  2. R1C1運用
  3. 字串特殊字元處理(雙引號與反斜線)

Formula / FormulaR1C1 範例

ExcelSheet.Cells[1,1] = 10;
ExcelSheet.Cells[2,1] = 25;

// 先選定 A3 範圍
Range rangeA3 = ExcelSheet.get_Range("A3", System.Type.Missing);

// 範例一 : 使用 Formula 屬性設定公式
rangeA3.Formula = "=SUM(A1 : A2)";

// 範例二 : 使用 FormulaR1C1 屬性設定公式
rangeA3.FormulaR1C1 = "=SUM(R[-2]C : R[-1]C)";

設定整個範圍的公式
// B1 = 100 , B2 = 25
ExcelSheet.Cells[1,2] = 100;
ExcelSheet.Cells[2,2] = 25;

// C1 = 33 , C2 = 9
ExcelSheet.Cells[1,3] = 33;
ExcelSheet.Cells[2,3] = 9;

// 公式 B3 = B1 / B2 , C3 = C1 / C2
Range rangeB3toC3 = ExcelSheet.get_Range("B3" , "C3");
rangeB3toC3.FormulaR1C1 = "=R[-2]C / R[-1]C";

直接針對儲存格設定公式
// D1 = 25 , E1 = 4
ExcelSheet.Cells[1,4] = 25;
ExcelSheet.Cells[1,5] = 4;

// F1 = D1 * E1
ExcelSheet.Cells[1,6] = "=D1 * E1";

//D2 = 58 , E2 = 42
ExcelSheet.Cells[2,4] = 58;
ExcelSheet.Cells[2,5] = 42;

// F2 = D2 - E2
ExcelSheet.Cells[2,6] = "=RC[-2] - RC[-1]";

R1C1運用

R1C1是以相對位置來運作
R=Row
C=Column

RC後面如果直接接的是數字,則是絕對位置,在公式中會出現$,若接的是[數字],則是相對於當下儲存格的相對位置。

Example:
  • R[2]C表示往下2列,同一欄 (若操作C5,則R[2]C = C7)
  • RC[-1]表示左邊一格 (若操作C5,則RC[-1] = B7)
  • R1C1表示 $A$1

字串特殊字元處理(雙引號與反斜線)

在字串內要加入雙引號可以用 \ 加上 雙引號(")即可
string aa = " 123\"abc "; // 以 \" 表示雙引號
string bb = " C:\\Program Files\\ "; // 以 \\ 表示反斜線

或是在字串前面加上@
string cc = @"C:\Program Files\"; // 加了@, 只需要寫一個反斜線即可,會比較簡單
string dd = @"""C:\Program Files\"""; // 加了@, 用"" 二個雙引號來表示一個雙引號

留言

這個網誌中的熱門文章

[TCL] 基本語法與指令 - 3. 資料型態

[TCL] 基本語法與指令 - 2. TCL 語法

[TCL] 基本語法與指令 - 1. TCL 簡介