在Java中,如何以編程的方式設置 Excel 單元格樣式

前言

在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的優勢與性能

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章