[]
主题和颜色有助于提升工作簿的整体外观。工作簿的外观对于阅读、理解和使用它的便利性有着重要影响。GcExcel支持内置主题与颜色以及自定义主题与颜色,具体内容如下:
GcExcel提供了 Workbook 类和 IWorkbook 接口的 setTheme 方法,通过该方法你可以为工作簿设置主题。你可以使用 setTheme 方法和 Themes 类来更改工作簿的当前主题。工作簿的默认主题是标准Office主题。
此外,GcExcel还提供了 Theme 类,使用该类你能够创建自定义主题,并根据个人偏好和需求将其应用于工作簿的设置。
当主题发生更改时,它会影响所有区域,包括主题字体、主题颜色、区域、图表标题等。例如,如果你将内置主题或自定义主题应用于工作簿,区域的颜色以及字体很可能也会根据修改后的主题发生变化。
参考以下示例代码来设置内置主题:
// 将工作簿主题更改为柏林主题。
workbook.setTheme(Themes.GetBerlin());
参考以下示例代码来设置自定义主题:
// 添加自定义主题。如果未提供参数,基础主题为Office主题。
Theme theme = new Theme("testTheme");
theme.getThemeColorScheme().get(ThemeColor.Light1).setRGB(Color.GetAntiqueWhite());
theme.getThemeColorScheme().get(ThemeColor.Accent1).setRGB(Color.GetAliceBlue());
theme.getThemeFontScheme().getMajor().get(FontLanguageIndex.Latin).setName("Buxton Sketch");
theme.getThemeFontScheme().getMinor().get(FontLanguageIndex.Latin).setName("Segoe UI");
// 应用主题。
workbook.setTheme(theme);
GcExcel允许你使用主题色、标准色和自定义颜色来设置单元格、单元格边框、工作表标签等的颜色。你可以使用 ColorUtilities 类的 stringToColor 方法、setThemeColor 方法以及 ThemeColor 枚举来设置这些颜色。
setThemeColor 方法使用 ThemeColor 枚举来设置内置主题颜色。而 ColorUtilities 类的 stringToColor 方法则使用不同的颜色字符串格式来设置标准色和自定义颜色,例如:
颜色名称:预定义的标准颜色名称。
示例:“red”(红色)。
RGB:rgb(r,g,b)
示例:“rgb(255,0,0)” 表示红色。
RGBA:rgba(r,g,b,a)
示例:“rgba(255,0,0,0.5)” 表示透明度为50%的红色。
十六进制:#RGB 或 #RRGGBB
示例:“#F00” 或 “#FF0000” 表示红色。
带透明度的十六进制:#RGBA 或 #RRGGBBAA
示例:“#F00C” 或 “#FF0000CC” 表示透明度为90%的红色。
参考以下示例代码,将单元格的内部填充颜色和边框颜色设置为主题颜色:
// 添加自定义主题。如果未提供参数,基础主题为Office主题。
Theme theme = new Theme("testTheme");
theme.getThemeColorScheme().get(ThemeColor.Light1).setRGB(Color.GetAntiqueWhite());
theme.getThemeColorScheme().get(ThemeColor.Accent1).setRGB(Color.GetAliceBlue());
theme.getThemeFontScheme().getMajor().get(FontLanguageIndex.Latin).setName("Buxton Sketch");
theme.getThemeFontScheme().getMinor().get(FontLanguageIndex.Latin).setName("Segoe UI");
// 应用主题。
workbook.setTheme(theme);
参考以下示例代码,将区域的内部填充颜色和边框颜色设置为标准颜色:
// 将内部填充颜色和边框颜色设置为标准颜色。
worksheet.getRange("B4:D6").getInterior().setColor(ColorUtilities.stringToColor("yellow"));
worksheet.getRange("C4:D6").getBorders().setColor(ColorUtilities.stringToColor("black"));
参考以下示例代码,使用RGB和十六进制颜色字符串将区域的内部填充颜色和边框颜色设置为自定义颜色:
// 将内部填充颜色和边框颜色设置为自定义颜色。
worksheet.getRange("B7:B18").getInterior().setColor(ColorUtilities.stringToColor("rgb(211,211,211)"));
worksheet.getRange("B7:D18").getBorders().setColor(ColorUtilities.stringToColor("#000000"));