在實際報表開發中,Excel 的可讀性和美觀性與數據本身同樣重要。合理的單元格格式設置不僅能讓數據一目了然,還能讓報表顯得更專業。通過使用 C#,開發者可以精確控制 Excel 文件的單元格樣式,無需依賴 Microsoft Office。
本文演示如何在 同一個工作表中設置 字體、背景顏色、行高列寬、邊框和單元格合并,并說明每個操作的作用和適用場景,幫助你真正理解 Excel 格式化背后的邏輯。
本文使用的方法需要用到免費的 Free Spire.XLS for .NET,NuGet:Install-Package FreeSpire.XLS
。
1. 初始化工作簿和工作表
using Spire.Xls;
using System.Drawing;Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];
sheet.Name = "銷售報表";
操作說明:創建一個新的工作簿并獲取第一個工作表。所有后續格式操作都在這個工作表中進行,保證操作集中一致。Worksheet
類是 Spire.XLS 中處理單個工作表的核心類,提供訪問行、列和單元格以及進行格式設置的功能。
注意設置完格式之后,使用Workbook.SaveToFile()
保存Excel工作簿到文件。
2. 設置單元格字體
CellRange title = sheet.Range["B2"];
title.Text = "年度銷售報表";
title.Style.Font.FontName = "Arial";
title.Style.Font.Size = 16;
title.Style.Font.IsBold = true;
title.Style.Font.Color = Color.DarkBlue;
title.Style.HorizontalAlignment = HorizontalAlignType.Center;
使用說明:
FontName
和Size
控制字體類型和大小,讓標題更加醒目。IsBold
和Color
用于突出標題信息,使報表層次分明。HorizontalAlignment
將標題居中顯示,使視覺效果更整齊。- 字體設置能夠引導讀者快速關注關鍵信息,是報表美觀的重要部分。
3. 設置背景顏色
CellRange header = sheet.Range["B4:D4"];
header.Text = "產品類別\t數量\t金額";
header.Style.Color = Color.LightGray;
header.Style.Font.IsBold = true;
header.Style.HorizontalAlignment = HorizontalAlignType.Center;
作用說明:
- 背景顏色主要用于區分表頭和數據區,使報表層次清晰。
- 灰色背景是常用的表頭樣式,同時加粗字體進一步增強可讀性。
- 使用背景顏色可以讓讀者更容易理解數據分組和重點內容。
4. 調整行高和列寬
sheet.Rows[1].RowHeight = 30; // 標題行高度
sheet.Rows[3].RowHeight = 25; // 表頭行高度
sheet.Columns[1].ColumnWidth = 20; // 產品類別列寬
sheet.Columns[2].ColumnWidth = 15; // 數量列寬
sheet.Columns[3].ColumnWidth = 15; // 金額列寬
使用場景:
- 行高和列寬影響數據展示完整性和表格整齊度。
- 調整行高 (
RowHeight
) 和列寬 (ColumnWidth
) 可以防止文字截斷,同時讓表格視覺上更平衡。 - 對于長標題或數字密集的表格,這一步尤其重要。
5. 設置邊框
CellRange dataRange = sheet.Range["B4:D6"];
dataRange.Style.Borders[BordersLineType.EdgeTop].LineStyle = LineStyleType.Thin;
dataRange.Style.Borders[BordersLineType.EdgeBottom].LineStyle = LineStyleType.Thin;
dataRange.Style.Borders[BordersLineType.EdgeLeft].LineStyle = LineStyleType.Thin;
dataRange.Style.Borders[BordersLineType.EdgeRight].LineStyle = LineStyleType.Thin;
dataRange.Style.Borders[BordersLineType.vertical].LineStyle = LineStyleType.Thin;
dataRange.Style.Borders[BordersLineType.horizontal].LineStyle = LineStyleType.Thin;
操作說明:
- 邊框可以清晰區分數據單元格,使表格結構更明確。
- Spire.XLS 提供多種邊框類型和線條樣式,可自由組合。
- 使用細線 (
Thin
) 的邊框在數據表格中最常見,不會破壞整體視覺效果。
6. 合并單元格
sheet.Range["B2:D2"].Merge(); // 合并標題單元格
sheet.Range["B7:D7"].Merge(); // 合并備注單元格
sheet.Range["B7"].Text = "數據來源:公司內部系統";
sheet.Range["B7"].Style.HorizontalAlignment = HorizontalAlignType.Center;
sheet.Range["B7"].Style.Font.IsItalic = true;
使用說明:
- 合并單元格 (
Merge()
) 常用于跨列的標題或備注,讓內容在視覺上更突出。 - 合并后通常需要設置居中對齊,否則文字會顯示在左上角。
- 適當使用合并單元格可以讓報表布局更整潔專業。
7. 效果展示(示例表格)
下面是經過上述格式設置后保存的Excel文件:
綜合效果展示了字體、背景色、行高列寬、邊框和合并單元格的應用。
8. 關鍵類、方法與屬性總結
操作類型 | 關鍵類/屬性 | 使用說明 |
---|---|---|
字體 | CellRange.Style.Font | 設置字體類型、大小、顏色、加粗、斜體等,突出標題或重點數據 |
背景色 | CellRange.Style.Color | 區分表頭和數據區,使報表層次清晰 |
行高 | Worksheet.Rows[].RowHeight | 調整行高度,保證內容顯示完整 |
列寬 | Worksheet.Columns[].ColumnWidth | 調整列寬,防止文字截斷,保持表格整齊 |
邊框 | CellRange.Style.Borders | 清晰區分單元格,增強表格結構感 |
合并單元格 | CellRange.Merge() | 合并跨列標題或備注,改善布局 |
水平對齊 | CellRange.Style.HorizontalAlignment | 設置文本水平對齊,如居中或靠左 |
垂直對齊 | CellRange.Style.VerticalAlignment | 設置文本垂直對齊,如居中或靠上 |
更多C# Excel文件操作技巧,請前往Spire.XLS for .NET官方教程查看。