[C#] EXCEL 公式操作
用C#操作EXCEL公式的一些心得
設定整個範圍的公式
直接針對儲存格設定公式
R=Row
C=Column
RC後面如果直接接的是數字,則是絕對位置,在公式中會出現$,若接的是[數字],則是相對於當下儲存格的相對位置。
Example:
或是在字串前面加上@
- Formula / FormulaR1C1 範例
- R1C1運用
- 字串特殊字元處理(雙引號與反斜線)
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\"""; // 加了@, 用"" 二個雙引號來表示一個雙引號
留言
張貼留言