上一篇http://www.cnblogs.com/happyfish78/archive/2012/11/06/2756396.html講述如何設置單個單元格格式。
在實際中使用過程中可能更多的需要設置多個單元格格式。其中又可分為連續多個單元格和不連續的單元格。
一.設置連續多個單元格格式
首先看下已經設置好的效果圖:
1、微軟Excel中設置多個連續單元格
a.首先在指定單元格區域設置值。
b.填寫好單元格值后,選中這些單元格區域,鼠標右鍵選擇"單元格格式"。
c.在彈出的窗口中分別選擇字體選項(設置字體名稱、大小、粗體和顏色)、數值選項(設置要顯示的數據格式)和邊框選項(設置邊框樣式和顏色)。
詳見http://www.cnblogs.com/happyfish78/archive/2012/11/06/2756396.html
d.設置好后點擊確定按鈕,就能在Excel中看到對連續多個單元格格式設置的效果圖。
2、用Acey.ExcelX代碼實現
//導入命名空間。
using Acey.ExcelX;

1 /// <summary> 2 /// 這個例子展示如何設置連續單元格區域的格式。 3 /// </summary> 4 public void Sample() 5 { 6 //創建工作薄對象。 7 IWorkbook workbook = ExcelxApplication.CreateWorkbook(); 8 //獲取指定索引處的工作表對象。 9 IWorksheet worksheet = workbook.Worksheets[0]; 10 //初始化二維數組。 11 object[,] array = { { 10, 50 }, { 20, 60 }, { 30, 80 } }; 12 //導入二維數組的數據到工作表指定的開始位置。 13 worksheet.ImportArray(array, 2, 2); 14 //創建指定范圍的單元格區域。 15 IRange range = worksheet.Cells.CreateRange("C3:D5"); 16 //設置該單元格區域的字體屬性。 17 range.CellFormat.Font.Name = "宋體"; 18 range.CellFormat.Font.Bold = true; 19 range.CellFormat.Font.Size = 16; 20 range.CellFormat.Font.Color = Color.Blue; 21 //設置該單元格區域的數據格式。 22 range.CellFormat.NumberFormat = "0.00"; 23 //設置該單元格區域的邊框樣式和顏色。 24 range.SetBorders(BorderMembers.All, LineStyle.Double, Color.Red); 25 26 //保存該工作薄為指定類型。 27 workbook.SaveAs(@"d:\book1.xls", FileFormat.Excel97To2003); 28 }
這里導入數據使用方法 worksheet.ImportArray(array, 2, 2);導入二維數組的數據到工作表指定的開始位置,簡化了一個單元格數據的填寫工作。
對連續的多個單元格,我們首先創建了單元格區域對象IRange range = worksheet.Cells.CreateRange("C3:D5");。創建了這個對象后我們可以對
這個單元格區域的格式進行設置,如:range.CellFormat.Font.Name = "宋體";對單元格區域設置字體,就會對單元格區域中所包含的每個單元格進行設置
字體的操作。簡化了要對每個單元格格式進行設置的工作。
二、設置不連續的多個單元格格式。
如果遇到要設置的單元格不連續,但是它們卻又相同的格式。見圖:
1、微軟Excel中設置多個不連續單元格
a.第一種方法:按住Ctrl鍵,對要設置的單元格進行選中,選好多個單元格后,點擊鼠標右鍵選擇"單元格格式",進行字體、數值和邊框的配置即可。
b.第二種方法:首先設置其中一個單元格的格式,然后用Excel的格式刷,復制該單元格的格式並應用到其他單元格中。
2、用Acey.ExcelX代碼實現
//導入命名空間。
using Acey.ExcelX;

1 /// <summary> 2 /// 這個例子展示如何設置不連續單元格區域的格式(不連續區域有相同的格式)。 3 /// </summary> 4 public void Sample() 5 { 6 //創建工作薄對象。 7 IWorkbook workbook = ExcelxApplication.CreateWorkbook(); 8 //獲取指定索引處的工作表對象。 9 IWorksheet worksheet = workbook.Worksheets[0]; 10 //獲取指定名稱的單元格對象。 11 ICell cell = worksheet.Cells["C3"]; 12 //設置單元格值。 13 cell.Value = 10; 14 //設置單元格格式的字體屬性。 15 cell.CellFormat.Font.Name = "宋體"; 16 cell.CellFormat.Font.Size = 16; 17 cell.CellFormat.Font.Bold = true; 18 cell.CellFormat.Font.Color = Color.Blue; 19 20 //設置單元格格式的數據格式。 21 cell.CellFormat.NumberFormat = "0.00"; 22 //設置單元格格式的邊框樣式和顏色。 23 cell.SetBorders(BorderMembers.All, LineStyle.Double, Color.Red); 24 25 ICell destCell = worksheet.Cells["D4"]; 26 destCell.Value = 20; 27 //只復制指定單元格對象的格式。 28 destCell.CopyFormat(cell); 29 30 destCell = worksheet.Cells["F6"]; 31 destCell.Value = 30; 32 //只復制指定單元格對象的格式。 33 destCell.CopyFormat(cell); 34 35 //保存該工作薄為指定類型。 36 workbook.SaveAs(@"d:\book1.xls", FileFormat.Excel97To2003); 37 }
代碼實現了Excel中第二種方法,首先設置其中一個單元格的格式,對另外單元格格式設置用方法:destCell.CopyFormat(cell);該方法只復制指定單元格對象的格式。如果既要復制數據又要復制格式,可以用Copy的方法。用destCell.CopyFormat(cell);方法簡化對每個單元格分別進行重復的格式設置。
三、總結
無需安裝微軟Excel,用代碼也能很輕松實現單元格格式效果。 下載最新版本到www.aceyoffice.com。如果您想對Acey.ExcelX有進一步了解,在網站下載幫助和Demo。