[]
        
(Showing Draft Content)

创建和设置自定义命名样式

应用于具有唯一名称的工作表的自定义单元格样式称为命名样式。命名样式通常不同于为电子表格定义的内置样式名称。

您可以根据特定要求创建和设置自定义命名样式。也可以修改现有样式并将其另存为新工作簿样式。GcExcel Java中,Styles是指存储内置和自定义命名样式的命名样式集合。

在处理表单中的样式时,可以使用以下方法

创建和设置自定义命名样式

GcExcel Java 使您能够为工作表定义自定义命名样式,根据您的首选项进行配置,并将它们存储在集合中,以便以后可以访问它们。

可以使用 IStyleCollection 接口的方法将自定义命名样式添加到工作表中。此方法还可以用于返回IStyle实例。如果要在电子表格中配置命名样式设置,可以使用 IStyle 接口的方法。

请参阅以下示例代码以创建自定义命名样式并配置其设置。

// Add custom name style.
IStyle style = workbook.getStyles().add("testStyle");

// Configure custom name style settings begin.
// Border
style.getBorders().get(BordersIndex.EdgeLeft).setLineStyle(BorderLineStyle.Thin);
style.getBorders().get(BordersIndex.EdgeTop).setLineStyle(BorderLineStyle.Thick);
style.getBorders().get(BordersIndex.EdgeRight).setLineStyle(BorderLineStyle.Double);
style.getBorders().get(BordersIndex.EdgeBottom).setLineStyle(BorderLineStyle.Double);
style.getBorders().setColor(Color.FromArgb(0, 255, 0));

// Font
style.getFont().setThemeColor(ThemeColor.Accent1);
style.getFont().setTintAndShade(0.8);
style.getFont().setItalic(true);
style.getFont().setBold(true);
style.getFont().setName("LiSu");
style.getFont().setSize(28);
style.getFont().setStrikethrough(true);
style.getFont().setSubscript(true);
style.getFont().setSuperscript(false);
style.getFont().setUnderline(UnderlineType.Double);

// Protection
style.setFormulaHidden(true);
style.setLocked(false);

// Number
style.setNumberFormat("#,##0_);[Red](gcdocsite__documentlink?toc-item-id=beec38b2-7417-44f3-b654-2506fe7751fe#,);

// Alignment
style.setHorizontalAlignment(HorizontalAlignment.Right);
style.setVerticalAlignment(VerticalAlignment.Bottom);
style.setWrapText(true);
style.setIndentLevel(5);
style.setOrientation(45);

// Fill
style.getInterior().setColorIndex(5);
style.getInterior().setPattern(Pattern.Down);
style.getInterior().setPatternColor(Color.FromArgb(0, 0, 255));
style.setIncludeAlignment(false);
style.setIncludeBorder(true);
style.setIncludeFont(false);
style.setIncludeNumber(true);
style.setIncludePatterns(false);
style.setIncludeProtection(true);

可以使用IRange 接口的 setStyle 方法 在工作表中获取或设置命名样式。

请参阅以下示例代码以获取或设置工作表中的命名样式。

// Set range's style to custom name style.
worksheet.getRange("A1").setStyle(worksheet.getWorkbook().getStyles().get("testStyle"));
worksheet.getRange("A1").setValue(123);

修改现有样式并将其另存为新工作簿样式

使用GcExcel Java,不必从头开始创建自定义命名样式。相反,您可以根据您的自定义要求调整现有样式(通过从样式集合中获取现有样式),并将新样式保存为其他工作簿样式,以便在需要时使用。

用户可以使用 IStyleCollection  接口的 add 方法来添加新样式。自定义样式将基于现有工作簿样式,并存储在IStyleCollection界面中,以便将来可以用作另一个工作簿样式。

请参阅以下示例代码以修改现有样式并将其另存为样式集合中的另一个工作簿样式。

        
// Create a new workbook
Workbook workbook = new Workbook();
        
// Fetch default worksheet
IWorksheet worksheet = workbook.getWorksheets().get(0);

// Fetch existing Style "Good" and set to Range A1's Style
worksheet.getRange("A1").setStyle(workbook.getStyles().get("Good"));
        
// Setting Cell Text
worksheet.getRange("A1").setValue("Good");

// Create and modify a style based on current existing style "Good" and name it as "MyGood"
IStyle myGood = workbook.getStyles().add("MyGood", workbook.getStyles().get("Good"));
myGood.getFont().setBold(true);
myGood.getFont().setItalic(true);

// Set new style "MyGood" to Range B1's Style
worksheet.getRange("B1").setStyle(workbook.getStyles().get("MyGood"));
        
// Setting Cell Text
worksheet.getRange("B1").setValue("MyGood");

// Saving workbook
workbook.save("2-CreateModifyStyleBasedOnAStyle.xlsx");
        

注意: 将带有垂直文本的Excel文件导出为PDF时,必须记住以下限制

  • 方向只能设置为0、90、-90和255。呈现PDF文件时,其他值将被视为0。

  • 如果字体名称以“@”开头,方向为255,GcExcel将忽略“@”。