Java程式設計指南:高階技巧解析 - Excel單元格樣式的程式設計設定

葡萄城技术团队發表於2024-07-25

最新技術資源(建議收藏)
https://www.grapecity.com.cn/resources/

前言

在Java開發中,處理Excel檔案是一項常見的任務。在處理Excel檔案時,經常需要對單元格進行樣式設定,以滿足特定的需求和美化要求,透過使用Java中的相關庫和API,我們可以輕鬆地操作Excel檔案並設定單元格的樣式。

在本文中,小編將介紹如何藉助葡萄城公司的Java API 元件——GrapeCity Documents for Excel(以下簡稱GcExcel)修改Excel單元格中的各種格式和外觀。修改的樣式包括下列內容:

  • 文字顏色
  • 邊框
  • 文字樣式
  • 文字對齊和縮排
  • 文字方向和角度
  • RichText 控制元件
  • 條件格式
  • 單元格樣式

1. 文字顏色

文字顏色是基本的外觀設定之一,有助於處理多種資料情況,例如

  • 突出顯示資料中的重要內容,例如溫度數值,隨著溫度升高而變紅
  • 區分部門或區域銷售等資料

在 Excel 中,可以使用“工具欄”或“設定單元格格式”對話方塊中的調色盤新增文字顏色,如下所示:

藉助GcExcel,可以透過IRange 介面的 Font 設定的 ColorThemeColor 屬性,如下面的程式碼所示:

//標準, 系統顏色
worksheet.getRange("A1").getFont().setColor(Color.GetRed());

//或者主題顏色
worksheet.getRange("A1").getFont().setThemeColor(ThemeColor.Light1);

2. 邊框

邊框是另一個常用的格式設定選項, 藉助GcExcel,可以使用IRange 介面的 Borders 來設定。

worksheet.getRange("A1").getBorders().setLineStyle(BorderLineStyle.Dotted);
// 或者
worksheet.getRange("A1").getCells().getBorders().setLineStyle(BorderLineStyle.Dotted)

3. 文字樣式

藉助GcExcel,可以使用 IRange 介面的 Font 來設定文字的字型和樣式:

//設定粗體
worksheet.getRange("A1").getFont().setBold(true);
//設定斜體
worksheet.getRange("A1").getFont().setItalic(true);
//設定下劃線
worksheet.getRange("A1").getFont().setUnderline(UnderlineType.Single);

4. 文字對齊和縮排

文字對齊和縮排是段落格式屬性,通常用於格式化整個段落中文字的外觀或表格中的數字。

Excel 中有兩種型別的文字對齊方式:

  • 水平對齊方式,包括以下選項:左對齊、居中對齊、右對齊和對齊
  • 垂直對齊選項:頂部、中部和底部

藉助GcExcel,可以使用 IRange 介面的 HorizontalAlignment 和 VerticalAlignment 屬性以程式設計方式對齊文字,如下所示:

//水平對齊
worksheet.getRange("A1").setHorizontalAlignment(HorizontalAlignment.Center);
//垂直對齊
worksheet.getRange("A1").setVerticalAlignment(VerticalAlignment.Top);

縮排有兩種型別:左縮排和右縮排。

可以透過使用 IRange 介面啟用 AddIndent 設定並配置 IndentLevel(接受指示縮排級別的整數)來應用文字縮排,如下面的程式碼所示:

worksheet.getRange("A1:H7").setAddIndent(true);
worksheet.getRange("A1:A7").setIndentLevel(0);
worksheet.getRange("B1:B7").setIndentLevel(1);
worksheet.getRange("C1:C7").setIndentLevel(2);

5. 文字方向和角度

Excel 中的“文字方向”和“文字旋轉”設定有助於特定語言的樣式設定。文字方向配置書寫方向 - 從左到右 (LTR) 或從右到左 (RTL),可用於阿拉伯語等語言。文字旋轉設定文字的角度,對於垂直文字(如 CJK)特別有用。

藉助GcExcel ,可以使用 IRange 介面的 ReadingOrder 屬性來設定文字方向。它接受 ReadingOrder 列舉中的值,如下所示:

worksheet.getRange("A1").setReadingOrder(ReadingOrder.RightToLeft);

可以將 Orientation 屬性與 IRange 介面一起使用,以新增有角度的文字。它接受從 -90 到 90 或 255(對於垂直文字)的整數值,如下所示:

worksheet.getRange("A1").setOrientation(45);

點選這裡檢視線上Demo。

6. RichText 控制元件

在Excel中,若要在單元格中包含富文字,在編輯模式下輸入單元格,然後選擇文字的一部分以應用單獨的格式,如下所示:

藉助GcExcel,可以使用 IRichTextITextRun 物件配置 RichText:

IRichText richText = worksheet.getRange("A1").getRichText();
// 新增字串 “Documents” 到 IRichText 物件並應用格式
ITextRun run1 = richText.add("Document");
run1.getFont().setColor(Color.GetRed());
run1.getFont().setBold(true);
run1.getFont().setSize(20);

// 附加字串 “Solutions” 到 IRichText 物件並應用格式化
ITextRun run2 = richText.add("Solutions");
run2.getFont().setThemeFont(ThemeFont.Major);
run2.getFont().setThemeColor(ThemeColor.Accent1);
run2.getFont().setSize(30);
run2.getFont().setUnderline(UnderlineType.Single);

更多詳細資訊請檢視幫助文件

點選這裡檢視Demo演示。

7. 條件格式

在工作表中,Excel 允許使用者對單個或一系列單元格建立條件格式規則,使單元格、行、列或整個工作表中的資料自動應用不同的格式。條件格式可以幫助使用者快速視覺化和分析資料,突出顯示滿足特定條件的單元格或數值。

藉助GcExcel,可以使用IRange 介面的 FormatConditions 設條件格式規則集。例如,若要對區域中的唯一值應用條件格式,需要將 AddUniqueValue 的規則新增到 FormatConditions 集合中,如下面的程式碼所示:

IUniqueValues condition = worksheet.getRange("A1:E7").getFormatConditions().addUniqueValues();
condition.setDupeUnique(DupeUnique.Unique);
condition.getFont().setName("Arial");
condition.getInterior().setColor(Color.GetPink());

更多詳細資訊請檢視幫助文件

點選這裡檢視Demo演示。

8. 單元格樣式

Excel 提供了多種內建單元格樣式(如“Good”、“Bad”、“Heading”、“Title”等),以便根據特定資料需求快速設定單元格樣式。

藉助GcExcel,可以使用工作簿的 Styles 集合以程式設計方式將這些快速樣式應用於單元格或單元格區域,並將其作為值提供給 IRange.Style 屬性:

worksheet.getRange("A1").setStyle(workbook.getStyles().get("Bad"));

點選這裡檢視Demo演示。

總結

以上就是藉助Java實現Excel 單元格的內容,總體而言,GcExcel 不僅提供了強大的資料管理功能,而且還增加了可程式設計性,使使用者能夠提升其資料的視覺化表示,實現更有效地通訊和分析。

擴充套件連結:

Redis從入門到實踐

一節課帶你搞懂資料庫事務!

Chrome開發者工具使用教程

如何在Web應用中新增一個JavaScript Excel檢視器

高效能渲染——詳解HTML Canvas的優勢與效能

相關文章