在C#中,如何以编程的方式设置 Excel 单元格样式
前言
在C#开发中,处理Excel文件是一项常见的任务。在处理Excel文件时,经常需要对单元格进行样式设置,在此博客中,小编将重点介绍如何使用葡萄城公司的服务端表格组件——GrapeCity Documents for Excel(以下简称GcExcel)修改Excel单元格中的各种格式和外观。修改的样式包括下列内容:
- 文本颜色
- 边境
- 文本样式
- 文本对齐和缩进
- 文本方向和方向(角度)
- RichText 控件
- 条件格式
- 单元格样式
1. 文本颜色
文本颜色是基本的外观设置之一,有助于处理多种数据情况,例如
- 突出显示数据中的重要内容,例如温度数值,随着温度升高而变红
- 区分部门或区域销售等数据
- 通过提高注意力水平来促进信息回忆,等等
在 Excel 中,可以使用“工具栏”或“设置单元格格式”对话框中的调色板添加文本颜色,如下所示:
若要使用 GcExcel 添加文本颜色,请使用 IRange 接口的 Font 设置的 Color 或 ThemeColor 属性,如下面的代码所示:
//标准, 系统颜色
worksheet.Range["A1"].Font.Color = Color.Red;
//或者主题颜色
worksheet.Range["A1"].Font.ThemeColor = ThemeColor.Light1;
2. 边框
边框是另一个常用的格式设置选项,它有助于创建可能相关但彼此独立的数据部分,例如发票中的“帐单和运输详细信息”、“列表中的总计”等。
与文本颜色一样,可以从 Excel 中的工具栏和设置单元格格式对话框应用边框。要使用 GcExcel 设置边框,可以使用IRange 接口的 Borders 来设置。
worksheet.Range["A1"].Borders.LineStyle = BorderLineStyle.Dotted;
// 或者
worksheet.Range["A1"].Cells.Borders.LineStyle = BorderLineStyle.Dotted;
3. 文本样式
借助GcExcel,可以使用 Range 接口的 Font 来设置来文本的字体和样式,如下所示:
worksheet.Range["A1"].Font.Bold = true;
worksheet.Range["A1"].Font.Italic = true;
worksheet.Range["A1"].Font.Underline = UnderlineType.Single;
// 或者
worksheet.Range["A1"].Cells.Font.Bold = true;
worksheet.Range["A1"].Cells.Font.Italic = true;
worksheet.Range["A1"].Cells.Font.Underline = UnderlineType.Single;
4. 文本对齐和缩进
文本对齐和缩进是段落格式属性,通常用于格式化整个段落中文本的外观或表格中的数字。
Excel 中有两种类型的文本对齐方式:
- 水平对齐方式,包括以下选项:左对齐、居中对齐、右对齐和对齐
- 垂直对齐选项:顶部、中部和底部
使用 GcExcel,可以使用 Range 接口的 HorizontalAlignment 和 VerticalAlignment 属性以编程方式对齐文本,如下所示:
worksheet.Range["A1"].HorizontalAlignment = HorizontalAlignment.Center;
worksheet.Range["A1"].VerticalAlignment = VerticalAlignment.Top;
缩进有两种类型:左缩进和右缩进。
可以通过使用 Range 接口启用 AddIndent 设置并配置 IndentLevel(接受指示缩进级别的整数)来应用文本缩进,如下面的代码所示:
worksheet.Range["A1:H7"].AddIndent = true;
worksheet.Range["A1:A7"].IndentLevel = 0;
worksheet.Range["B1:B7"].IndentLevel = 1;
worksheet.Range["C1:C7"].IndentLevel = 2;
5. 文本方向和方向(角度)
Excel 中的“文本方向”和“文本旋转”设置有助于特定语言的样式设置。文本方向配置书写方向 - 从左到右 (LTR) 或从右到左 (RTL),可用于阿拉伯语等语言。文本旋转设置文本的角度,对于垂直文本(如 CJK)特别有用。
GcExcel 允许使用 Range 接口的 ReadingOrder 属性来设置文本方向。它接受 ReadingOrder 枚举中的值,如下所示:
worksheet.Range["A1"].ReadingOrder = ReadingOrder.RightToLeft;
可以将 Orientation 属性与 Range 接口一起使用,以添加有角度的文本。它接受从 -90 到 90 或 255(对于垂直文本)的整数值,如下所示:
worksheet.Range["A1"].Orientation = 45;
点击这里查看在线Demo。
6. RichText 控件
GcExcel 支持在单元格中应用富文本格式。富文本格式允许使用不同的颜色、字体、效果(粗体、下划线、双下划线、删除线、下标、上标)等在单元格中设置文本样式。它最终有助于在单个单元格内突出显示和强调文本。
在 Excel 中,若要在单元格中包含富文本,请在编辑模式下输入单元格,然后选择文本的一部分以应用单独的格式,如下所示:
使用 GcExcel,可以使用 IRichText 和 ITextRun 对象配置 RichText,如下所示:
IRichText richText = worksheet.Range["A1"].RichText;
// 添加字符串 “Documents” 到 IRichText 对象并应用格式
ITextRun run1 = richText.Add("Document");
run1.Font.Color = Color.Red;
run1.Font.Bold = true;
run1.Font.Size = 20;
// 附加字符串 “Solutions” 到 IRichText 对象并应用格式化
ITextRun run2 = richText.Add("Solutions");
run2.Font.ThemeFont = ThemeFont.Major;
run2.Font.ThemeColor = ThemeColor.Accent1;
run2.Font.Size = 30;
run2.Font.Underline = UnderlineType.Single;
更多详细信息,请查看帮助文档
试用演示
7. 条件格式
在工作表中,Excel 允许用户对单个或一系列单元格创建条件格式规则,使单元格、行、列或整个工作表中的数据自动应用不同的格式。条件格式可以帮助用户快速可视化和分析数据,突出显示满足特定条件的单元格或数值。
借助GcExcel,可以使用IRange 接口的 FormatConditions 设置条件格式规则集。例如,若要对区域中的唯一值应用条件格式,需要将 AddUniqueValue 的规则添加到 FormatConditions 集合中,如下面的代码所示:
IUniqueValues condition = worksheet.Range["A1:E7"].FormatConditions.AddUniqueValues();
condition.DupeUnique = DupeUnique.Unique;
condition.Font.Name = "Arial";
condition.Interior.Color = Color.Pink;
更多详细信息请查看帮助文档
试用演示
8. 单元格样式
Excel 提供了多种内置单元格样式(如“Good”、“Bad”、“Heading”、“Title”等),以便根据特定数据需求快速设置单元格样式。
借助 GcExcel,可以使用工作簿的 Styles 集合以编程方式将这些快速样式应用于单元格或单元格区域,并将其作为值提供给 IRange.Style 属性,如下所示:
worksheet.Range["A1"].Style = workbook.Styles["Bad"];
试用演示
总结
以上就是借助Java实现Excel 单元格的内容,总体而言,GcExcel 不仅提供了强大的数据管理功能,而且还增加了可编程性,使用户能够提升其数据的可视化表示,实现更有效的通信和分析。
扩展链接: