使用 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.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文件:

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官方教程查看。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/100288.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/100288.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/100288.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Redis篇章3:Redis 企業級緩存難題全解--預熱、雪崩、擊穿、穿透一網打盡

在企業級應用場景中,Redis 作為高性能緩存利器,極大提升了系統響應速度,但隨著業務復雜度和并發量的攀升,緩存相關的各類挑戰也接踵而至。比如系統啟動時緩存缺失導致的數據庫壓力、大量緩存同時失效引發的連鎖故障、熱點數據過期…

【數值分析】02-緒論-誤差

參考資料: 書籍: 數值分析簡明教程/王兵團,張作泉,張平福編著. --北京:清華大學出版社;北京交通大學出版社,2012.8 視頻:學堂在線APP中北京交通大學“數值分析I” 前期回顧 【數值分…

P3918 [國家集訓隊] 特技飛行

P3918 [國家集訓隊] 特技飛行 - 洛谷 思路: 因為如果連續進行相同的動作,乘客會感到厭倦,所以定義某次動作的價值為(距上次該動作的時間) ci?,若為第一次進行該動作,價值為 0。同一個動作,價值為ci*(最后一…

Python爬蟲實戰:研究Pandas,構建期貨數據采集和分析系統

1. 引言 1.1 研究背景 期貨市場作為金融市場的重要組成部分,具有價格發現、風險管理和資源配置的重要功能。上海期貨交易所(Shanghai Futures Exchange, SHFE)作為中國四大期貨交易所之一,上市交易的品種包括銅、鋁、鋅、黃金、白銀等多種大宗商品期貨,其交易數據反映了…

Linux第十七講:應用層自定義協議與序列化

Linux第十七講:應用層自定義協議與序列化1.什么是序列化和反序列化2.重新理解read、write為什么支持全雙工3.網絡版計算器的實現3.1socket的封裝 -- 模板方法模式引入3.2序列化和反序列化 && json3.3協議的實現3.4 服務端整體看 -- 所有代碼3.5七層協議&…

附錄:Tomcat下載及啟動

一、打開Tomcat官網windows下載第四個壓縮包,下載完成后解壓縮。(安裝路徑不要帶有中文和特殊符號)二、啟動Tomcat進入bin文件夾:\Tomcat\apache-tomcat-11.0.11\bin,找到startup.bat文件點擊,黑窗口常駐即…

【CTF-WEB】表單提交(特殊參數:?url=%80和?url=@)(通過GBK編碼繞過實現文件包含讀取flag)

題目 尋找這個單純的網站的flag 前端代碼&#xff1a; <!DOCTYPE html> <head><title>CAT</title> </head><body> <h1>Cloud Automated Testing</h1> <p>輸入你的域名&#xff0c;例如&#xff1a;loli.club</p>…

(k8s)Kubernetes 資源控制器關系圖

Kubernetes 資源控制器關系圖 #mermaid-svg-da6tzgmJn70StNQM {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-da6tzgmJn70StNQM .error-icon{fill:#552222;}#mermaid-svg-da6tzgmJn70StNQM .error-text{fill:#55222…

模電基礎:場效應管

目錄 一、場效應管概述 二、結型場效應管&#xff1a;基礎場效應管 &#xff08;1&#xff09;基本結構&#xff1a;PN結導電溝道 &#xff08;2&#xff09;工作原理&#xff1a;耗盡區擠壓溝道從而控制電流 &#xff08;3&#xff09;特性曲線 1.轉移特性 2.輸出特性 …

開發安全利器:detect-secrets 敏感信息掃描工具實戰指南

在現代軟件開發流程中&#xff0c;代碼安全已成為不可忽視的重要環節。尤其是在 DevSecOps 的理念逐漸普及的今天&#xff0c;如何在開發早期就發現并消除潛在的安全隱患&#xff0c;成為每一個開發者和安全工程師必須面對的問題。其中&#xff0c;敏感信息泄露&#xff08;Sec…

數字經濟專業核心課程解析與職業發展指南

在數字經濟高速發展的時代&#xff0c;選擇一門與未來趨勢緊密關聯的專業至關重要。數字經濟專業作為新興交叉學科&#xff0c;既涵蓋傳統經濟理論&#xff0c;又融合了大數據、人工智能等前沿技術。想要在這一領域脫穎而出&#xff0c;考取權威證書是提升競爭力的有效途徑。其…

使用yolo11訓練航拍圖片微小目標AI-TOD檢測數據集無損壓縮版YOLO格式14018張8類別已劃分好訓練驗證集步驟和流程

【數據集介紹】我們基于公開的大規模航空圖像數據集構建了AI-TOD&#xff0c;這些數據集包括&#xff1a;DOTA-v1.5的訓練驗證集[1]、xView的訓練集[19]、VisDrone2018-Det的訓練驗證集[20]、Airbus Ship的訓練驗證集1以及DIOR的訓練驗證測試集[3]。這些數據集的詳細信息如下&a…

sward V2.0.6版本發布,支持OnlyOffice集成、文檔權限控制及歸檔等功能

1、版本更新日志新增新增目錄文檔權限控制新增新增知識庫、文檔歸檔功能集成OnlyOffice支持word文檔預覽、編輯新增MarkDown代碼塊根據語言展示不同樣式優化優化富文本在小屏幕操作調整優化部分界面展示效果優化知識庫圖片展示效果2、目錄與文檔權限控制默認情況下&#xff0c;…

多因子AI回歸揭示通脹-就業背離,黃金價格穩態區間的時序建模

摘要&#xff1a;本文通過構建包含通脹韌性、就業疲軟、貨幣政策預期及跨市場聯動的多因子量化模型&#xff0c;結合美國8月CPI超預期上行與初請失業金人數激增的動態數據&#xff0c;分析黃金價格的高位持穩機制&#xff0c;揭示就業市場對美聯儲降息預期的協同支撐效應。一、…

Java--多線程基礎知識(2)

一.多線程的中斷1.通過自定義的變量來作為標志位import java.util.Scanner;public class Demo1 {public static boolean flg false;public static void main(String[] args) throws InterruptedException {Thread t1 new Thread(()->{while (!flg){System.out.println(&qu…

Qit_計網筆記

第1章 概述1.1 計算機網絡在信息時代中的作用一、計算機網絡基礎概念&#xff08;一&#xff09;計算機網絡的定義定義&#xff1a;計算機網絡在信息時代中起到核心作用&#xff0c;實現了萬物聯網和人人用網的目標。&#xff08;二&#xff09;計算機網絡的特點信息時代特征&a…

【C++11】initializer_list列表初始化、右值引用和移動語義、可變參數模版等

目錄 前言 一、簡介一下C11 二、{}列表初始化 三、右值引用和移動語義 四、右值引用和移動語義的使用場景 五、右值引用和移動語義在傳參中的提效 六、引用折疊和完美轉發 七、可變參數模板 前言 本文主要介紹C11中新增的一些重要語法&#xff1a;包括initializer_list列表初…

MP3 ID3標簽中的數字流派代碼和文本值翻譯成的中文列表

將MP3 ID3標簽中的數字流派代碼和文本值翻譯成的中文列表&#xff1a;■ 數字代碼流派:0 布魯斯 (Blues)1 古典搖滾 (Classic Rock)2 鄉村音樂 (Country)3 舞曲 (Dance)4 迪斯科 (Disco)5 放克 (Funk)6 垃圾搖滾 (Grunge)7 嘻哈 (Hip-Hop)8 爵士樂 (Jazz)9 金屬樂 (M…

U8g2庫為XFP1116-07AY(128x64 OLED)實現菜單功能[ep:esp8266]

使用U8g2庫為XFP1116-07AY&#xff08;128x64 OLED&#xff09;實現菜單功能&#xff0c;核心是通過按鍵控制菜單切換、光標移動和選項選中&#xff0c;結合U8g2的繪圖/文本函數實現交互邏輯支持多級菜單&#xff08;主菜單→子菜單→功能執行&#xff09;&#xff0c;并兼容ES…

easy-dataset 框架綜合技術分析:面向領域特定 LLM 指令數據的合成

摘要 本報告對 easy-dataset 框架 進行全面技術剖析&#xff0c;該框架旨在解決大型語言模型&#xff08;LLM&#xff09;在特定領域應用中的核心瓶頸——高質量指令微調數據的稀缺性。隨著 LLM 技術發展&#xff0c;其應用能力不再僅依賴模型參數規模&#xff0c;而是更依賴通…