[]
IStyle 为单元格定义字体、边框、填充、数字格式、对齐方式和保护设置等格式。样式通常通过工作簿的 IStyleCollection 创建或检索,然后应用到 IRange。
IStyle style = workbook.getStyles().add("Highlight");
style.getFont().setBold(true);
style.setHorizontalAlignment(HorizontalAlignment.Center);
worksheet.getRange("A1").setStyle(style);
booleandelete()voidbooleanIBorders 集合。booleangetFont()IFont 对象。booleanbooleanbooleanbooleanbooleanbooleanbooleanintIInterior 对象。booleanfalse。getName()intbooleanbooleanvoidsetAddIndent(boolean value) voidsetFormulaHidden(boolean value) voidvoidsetIncludeAlignment(boolean value) voidsetIncludeBorder(boolean value) voidsetIncludeFont(boolean value) voidsetIncludeNumber(boolean value) voidsetIncludePatterns(boolean value) voidsetIncludeProtection(boolean value) voidsetIndentLevel(int value) voidsetLocked(boolean value) false。voidsetNumberFormat(String value) voidsetOrientation(int value) voidsetShrinkToFit(boolean value) voidvoidsetWrapText(boolean value) toJson()使用此方法可以确定该样式是否保留分布式文本对齐的自动缩进设置。
IStyle style = workbook.getStyles().add("distributedIndent");
style.setHorizontalAlignment(HorizontalAlignment.Distributed);
style.setAddIndent(true);
worksheet.getRange("A1").setStyle(style);
boolean addIndent = style.getAddIndent();
true;否则为 false。当样式使用分布式对齐时,此设置相关,例如 setHorizontalAlignment(HorizontalAlignment) 或setVerticalAlignment(VerticalAlignment)。将此参数设置为 true 可为分布式文本启用自动缩进,设置为false 可禁用自动缩进。
IRange cell = worksheet.getRange("A1");
cell.setValue("Distributed text");
IStyle style = workbook.getStyles().add("distributedIndent");
style.setHorizontalAlignment(HorizontalAlignment.Distributed);
style.setAddIndent(true);
cell.setStyle(style);
value - 使用分布式对齐时,传入 true 可自动缩进文本;否则传入 false。IBorders 集合。使用此方法可以访问和修改存储在样式中的边框设置。
IStyle style = workbook.getStyles().add("borderStyle");
style.getBorders().setLineStyle(BorderLineStyle.DashDot);
worksheet.getRange("A1").setStyle(style);
IBorders borders = style.getBorders();
使用此方法可以确定样式是来自内置工作簿样式,而不是自定义命名样式。
IStyle normalStyle = workbook.getStyles().get("Normal");
worksheet.getRange("A1").setStyle(normalStyle);
boolean builtIn = normalStyle.getBuiltIn();
true;否则为 false。IFont 对象。使用此方法可以访问样式的字体设置,例如加粗、大小、颜色和字体名称。
IStyle style = workbook.getStyles().add("headerStyle");
style.getFont().setBold(true);
worksheet.getRange("A1").setStyle(style);
IFont font = style.getFont();
使用此方法可以确定启用工作表保护后,使用该样式的单元格是否隐藏其公式。
IStyle style = workbook.getStyles().add("hiddenFormulaStyle");
style.setFormulaHidden(true);
worksheet.getRange("A1").setStyle(style);
boolean hidden = style.getFormulaHidden();
true;否则为 false。使用此方法可以控制存储在样式中的公式可见性设置。将此样式应用到单元格或区域时,如果启用了工作表保护,则公式会隐藏。
IRange cell = worksheet.getRange("A1");
cell.setFormula("=B1+C1");
IStyle style = workbook.getStyles().add("hiddenFormulaStyle");
style.setFormulaHidden(true);
cell.setStyle(style);
value - 如果工作表受保护时要隐藏使用此样式的单元格中的公式,则为 true;否则为 false。使用此方法可以检索存储在样式中的水平对齐方式。
IStyle style = workbook.getStyles().add("centerStyle");
style.setHorizontalAlignment(HorizontalAlignment.Center);
worksheet.getRange("A1").setStyle(style);
HorizontalAlignment alignment = style.getHorizontalAlignment();
使用此方法可以定义将样式应用到单元格或区域时内容的水平对齐方式。
IStyle style = workbook.getStyles().add("centerStyle");
style.setHorizontalAlignment(HorizontalAlignment.Center);
worksheet.getRange("A1").setValue("Name");
worksheet.getRange("A1").setStyle(style);
value - 要应用到样式的水平对齐方式。使用此方法可以确定应用样式时,与对齐相关的设置是否参与。
IStyle style = workbook.getStyles().add("alignmentStyle");
style.setHorizontalAlignment(HorizontalAlignment.Right);
style.setIncludeAlignment(false);
worksheet.getRange("A1").setStyle(style);
boolean includeAlignment = style.getIncludeAlignment();
true;否则为 false。使用此方法可以控制应用样式时,与对齐相关的设置是否参与样式。
IStyle style = workbook.getStyles().add("alignmentStyle");
style.setHorizontalAlignment(HorizontalAlignment.Right);
style.setIncludeAlignment(false);
worksheet.getRange("A1").setStyle(style);
value - 传入 true 可在样式中包含 AddIndent、HorizontalAlignment、VerticalAlignment、WrapText 和 Orientation 属性;否则传入 false。使用此方法可以确定应用样式时是否包含样式上定义的边框设置。
IStyle style = workbook.getStyles().add("borderStyle");
style.getBorders().setLineStyle(BorderLineStyle.DashDot);
style.setIncludeBorder(true);
worksheet.getRange("A1").setStyle(style);
boolean includeBorder = style.getIncludeBorder();
true;否则为 false。使用此属性可以控制应用样式时是否包含在样式上定义的边框设置。请参阅 getIncludeBorder()和 getBorders()。
IStyle style = workbook.getStyles().add("borderStyle");
style.getBorders().setLineStyle(BorderLineStyle.DashDot);
style.setIncludeBorder(true);
worksheet.getRange("A1").setStyle(style);
value - 传入 true 可在样式中包含 Color、ColorIndex、LineStyle 和 Weight 边框属性;否则传入 false。使用此方法可以确定应用样式时是否包含存储在样式中的字体设置。
IStyle style = workbook.getStyles().add("fontStyle");
style.getFont().setBold(true);
style.getFont().setName("Arial");
style.setIncludeFont(false);
worksheet.getRange("A1").setStyle(style);
boolean includeFont = style.getIncludeFont();
true;否则为 false。使用此属性可以控制将此样式应用于区域时,是否包含该样式定义的字体设置。
IStyle style = workbook.getStyles().add("fontStyle");
style.getFont().setBold(true);
style.getFont().setName("Arial");
style.setIncludeFont(false);
worksheet.getRange("A1").setStyle(style);
value - 传入 true 可在样式中包含字体属性;否则传入 false。使用此方法可以确定应用样式时是否包含存储在样式中的数字格式。
IStyle style = workbook.getStyles().add("numberStyle");
style.setNumberFormat("$#,##0.00");
style.setIncludeNumber(true);
worksheet.getRange("A1").setStyle(style);
boolean includeNumber = style.getIncludeNumber();
true;否则为 false。使用此方法可以控制将此样式应用到区域时是否包含该样式定义的数字格式。
IStyle style = workbook.getStyles().add("numberStyle");
style.setNumberFormat("$#,##0.00");
style.setIncludeNumber(true);
worksheet.getRange("A1").setValue(100);
worksheet.getRange("A1").setStyle(style);
value - 如果要在样式中包含 NumberFormat 属性,则为 true;否则为 false。使用此方法可以确定应用样式时是否包含内部图案设置。
IStyle style = workbook.getStyles().add("patternStyle");
style.getInterior().setPattern(Pattern.Gray50);
style.getInterior().setPatternColor(Color.GetBlue());
style.setIncludePatterns(true);
worksheet.getRange("A1").setStyle(style);
boolean includePatterns = style.getIncludePatterns();
true;否则为 false。使用此属性可以控制将样式分配给区域时,是否应用样式的 IInterior 中与图案相关的设置。
IStyle style = workbook.getStyles().add("patternStyle");
style.getInterior().setPattern(Pattern.Gray50);
style.getInterior().setPatternColor(Color.GetBlue());
style.setIncludePatterns(true);
worksheet.getRange("A1").setStyle(style);
value - 传入 true 可在样式中包含 Color、InvertIfNegative、Pattern、PatternColor 和 PatternColorIndex 内部属性;否则传入 false。使用此方法可以确定应用样式时,该样式定义的保护相关设置是否参与应用。
IStyle style = workbook.getStyles().add("protectionStyle");
style.setLocked(true);
style.setFormulaHidden(true);
style.setIncludeProtection(false);
worksheet.getRange("A1").setStyle(style);
boolean includeProtection = style.getIncludeProtection();
true;否则为 false。使用此属性可以控制由 setFormulaHidden(boolean) 和 setLocked(boolean) 定义的保护设置是否包含在样式中。
IStyle style = workbook.getStyles().add("protectionStyle");
style.setLocked(true);
style.setFormulaHidden(true);
style.setIncludeProtection(false);
worksheet.getRange("A1").setStyle(style);
value - 传入 true 可在样式中包含 FormulaHidden 和 Locked 属性;否则传入 false。使用此方法可以检索存储在样式中的缩进设置。
IStyle style = workbook.getStyles().add("indentStyle");
style.setIndentLevel(2);
worksheet.getRange("A1").setStyle(style);
int indentLevel = style.getIndentLevel();
使用此方法可以定义将此样式分配给单元格或区域时应用于单元格内容的缩进。若要使缩进成为命名样式的一部分,请确保样式中包含对齐设置。
IStyle style = workbook.getStyles().add("indentStyle");
style.setIndentLevel(2);
worksheet.getRange("A1").setValue("Name");
worksheet.getRange("A1").setStyle(style);
value - 该样式的缩进级别。IInterior 对象。使用此方法可以访问该样式的填充和图案设置,例如背景色和图案样式。
IStyle style = workbook.getStyles().add("filledStyle");
style.getInterior().setPattern(Pattern.Solid);
worksheet.getRange("A1").setStyle(style);
IInterior interior = style.getInterior();
false。使用此方法可以确定启用工作表保护时,使用该样式的单元格是否已锁定。
IStyle style = workbook.getStyles().add("lockedStyle");
style.setLocked(true);
worksheet.getRange("A1").setStyle(style);
boolean locked = style.getLocked();
true;否则为 false。false。使用此方法可以控制存储在样式中的锁定设置。当此样式应用于单元格或区域时,启用工作表保护后锁定状态会生效。
IStyle style = workbook.getStyles().add("lockedStyle");
style.setLocked(true);
worksheet.getRange("A1").setValue("Name");
worksheet.getRange("A1").setStyle(style);
value - 当工作表受保护时,传入 true 可锁定使用此样式的单元格;否则传入 false。使用此方法可以获取存储在工作簿中的命名样式名称。
IStyle style = workbook.getStyles().add("HeaderStyle");
worksheet.getRange("A1").setStyle(style);
String styleName = style.getName();
使用此方法可以检索存储在样式中的数字格式代码。
IStyle style = workbook.getStyles().add("currencyStyle");
style.setNumberFormat("$#,##0.00");
worksheet.getRange("A1").setStyle(style);
String numberFormat = style.getNumberFormat();
使用此方法可以定义存储在样式中的数字格式。将该样式应用到区域后,该区域中的数值会根据指定的格式代码显示。
IStyle style = workbook.getStyles().add("currencyStyle");
style.setNumberFormat("$#,##0.00");
worksheet.getRange("A1").setValue(12.5);
worksheet.getRange("A1").setStyle(style);
value - 要应用的格式代码,以用户语言的字符串表示。使用此方法可以检索存储在样式中的文本旋转角度。
IStyle style = workbook.getStyles().add("angledStyle");
style.setOrientation(45);
worksheet.getRange("A1").setStyle(style);
int orientation = style.getOrientation();
使用正值可将文本向上旋转,使用负值可将文本向下旋转。
IStyle style = workbook.getStyles().add("angledStyle");
style.setOrientation(45);
worksheet.getRange("A1").setValue("Quarterly Sales");
worksheet.getRange("A1").setStyle(style);
value - 文本方向,以度为单位。有效值范围为 -90 到 90。使用此方法可以确定使用该样式的单元格是否会缩小文本以适应可用列宽。
IStyle style = workbook.getStyles().add("shrinkStyle");
style.setShrinkToFit(true);
worksheet.getRange("A1").setStyle(style);
boolean shrinkToFit = style.getShrinkToFit();
true;否则为 false。在将样式应用于区域之前,在样式上使用此属性。将值设置为 true 可启用缩小字体以适应行为,设置为false 可保留原始字体大小。
IStyle style = workbook.getStyles().add("shrinkStyle");
style.setShrinkToFit(true);
worksheet.getRange("A1").setValue("Document Solutions For Excel");
worksheet.getRange("A1").setStyle(style);
value - 传入 true 可自动缩小文本以适应可用列宽;否则传入 false。使用此方法可以检索存储在样式中的垂直对齐方式。
IStyle style = workbook.getStyles().add("topStyle");
style.setVerticalAlignment(VerticalAlignment.Top);
worksheet.getRange("A1").setStyle(style);
VerticalAlignment alignment = style.getVerticalAlignment();
使用此方法可以控制应用此样式时内容在垂直方向上的位置。
IStyle style = workbook.getStyles().add("topStyle");
style.setVerticalAlignment(VerticalAlignment.Top);
worksheet.getRange("A1").setValue("Name");
worksheet.getRange("A1").setStyle(style);
value - 要应用的垂直对齐方式。使用此方法可以确定使用该样式的单元格中的文本是否换行。
IStyle style = workbook.getStyles().add("wrapStyle");
style.setWrapText(true);
worksheet.getRange("A1").setStyle(style);
boolean wrapText = style.getWrapText();
true;否则为 false。使用此方法可以控制使用此样式的单元格中的文本是否换行。文本换行设置是与对齐相关的样式属性的一部分。
IStyle style = workbook.getStyles().add("wrapStyle");
style.setWrapText(true);
worksheet.getRange("A1").setValue("Long text that should wrap in the cell");
worksheet.getRange("A1").setStyle(style);
value - 如果启用文本换行,则为 true;否则为 false。使用此方法可以从工作簿中移除自定义命名样式。内置样式无法删除。
IStyle style = workbook.getStyles().add("TemporaryStyle");
worksheet.getRange("A1").setStyle(style);
boolean deleted = style.delete();
true;否则为 false。使用此方法可以从 JSON 加载命名样式定义,例如先前由 toJson() 生成的字符串。
IStyle sourceStyle = workbook.getStyles().add("PriceStyle");
sourceStyle.setIncludeNumber(true);
sourceStyle.setNumberFormat("$#,##0.00");
IStyle copiedStyle = workbook.getStyles().add("CopiedPriceStyle");
copiedStyle.fromJson(sourceStyle.toJson());
worksheet.getRange("A1").setStyle(copiedStyle);
json - 包含命名样式定义的 JSON 字符串。使用此方法可以将命名样式序列化为 JSON,以便存储或稍后与 fromJson(String) 一起使用。
IStyle style = workbook.getStyles().add("PriceStyle");
style.setIncludeNumber(true);
style.setNumberFormat("$#,##0.00");
worksheet.getRange("A1").setStyle(style);
String json = style.toJson();