動態

詳情 返回 返回

使用 C# 設置 Excel 單元格格式 - 動態 詳情

在實際報表開發中,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;

使用説明

  • FontNameSize 控制字體類型和大小,讓標題更加醒目。
  • IsBoldColor 用於突出標題信息,使報表層次分明。
  • HorizontalAlignment 將標題居中顯示,使視覺效果更整齊。
  • 字體設置能夠引導讀者快速關注關鍵信息,是報表美觀的重要部分。

3. 設置背景顏色

CellRange header = sheet.Range["B4:D4"];
header.Columns[0].Text = "產品類別";
header.Columns[1].Text = "數量";
header.Columns[2].Text = "金額";
header.Style.Color = Color.LightGray;
header.Style.Font.IsBold = true;
header.Style.HorizontalAlignment = HorizontalAlignType.Center;
header.Style.VerticalAlignment = VerticalAlignType.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文件:

C#設置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官方教程查看。
user avatar qngyun1029 頭像 lsjwq 頭像
點贊 2 用戶, 點贊了這篇動態!
點贊

Add a new 評論

Some HTML is okay.