public final class CellBorders extends Object
Diagonal-up (IndividualBorder.DIAGONAL_UP
/ MultipleBorders.DIAGONAL_UP
) and diagonal-down (IndividualBorder.DIAGONAL_DOWN
/ MultipleBorders.DIAGONAL_DOWN
)
always share the same color and line style.
Conceptually, cell formatting is divided into following groups:
CellStyle.setNumberFormat(java.lang.String)
.
CellStyle.setHorizontalAlignment(com.gembox.spreadsheet.HorizontalAlignmentStyle)
, CellStyle.setVerticalAlignment(com.gembox.spreadsheet.VerticalAlignmentStyle)
, CellStyle.setIndent(int)
, CellStyle.setRotation(int)
, CellStyle.setTextVertical(boolean)
, CellStyle.setWrapText(boolean)
and CellStyle.setShrinkToFit(boolean)
.
CellStyle.setFont(com.gembox.spreadsheet.ExcelFont)
.
CellStyle.setBorders(com.gembox.spreadsheet.CellBorders)
.
CellStyle.setFillPattern(com.gembox.spreadsheet.ExcelFillPattern)
.
CellStyle.setLocked(boolean)
and CellStyle.setFormulaHidden(boolean)
.
Additional CellStyle
methods not associated with any formatting group are:
CellStyle.getName()
- name of the referenced workbook style
.
CellStyle.setQuotePrefix(boolean)
- true
to store numeric value of a cell as text; otherwise, false
.
CellStyle.isDefault()
- true
if referenced
workbook style
is default (
CellStyleCollection.getNormal()
) and there are no additional modifications of cell formatting; otherwise, false
.
Workbook
contains a set of master styles
which can be referenced by multiple cells.
Workbook
must always contain at least one master style
which cannot be removed and is, by default, referenced by all cells. This default style is
CellStyleCollection.getNormal()
.
Workbook style
can either be built-in or user-defined. Built-in style is accessible from workbook styles
via BuiltInCellStyleName
enumeration.
Cell formatting group (Number, Alignment, Font, Border, Fill or Protection) (and its associated methods) is resolved from referenced
workbook (master) style
, unless cell formatting group or its associated method is modified.
Cell formatting is available for one or more cells through AbstractRange.setStyle(com.gembox.spreadsheet.CellStyle)
method which is available on ExcelCell
and CellRange
types.
Cell formatting specified on ExcelColumn
and ExcelRow
types through ExcelColumnRowBase.setStyle(com.gembox.spreadsheet.CellStyle)
method is simply propagated to cell formatting of its ExcelColumnRowBase.getCells()
.
For performance reasons, cell formatting on CellRange
is resolved based just on its top-left cell formatting, except borders which are resolved based on corner cells depending on border side.
Setting cell formatting method on CellRange
is propagated to each cell in a range.
To set workbook (master) style
to one or more cells, simply assign it to AbstractRange.setStyle(com.gembox.spreadsheet.CellStyle)
method.
Preferable way to modify formatting method of multiple cells is to get CellRange
to which all those cells belong, and use AbstractRange.setStyle(com.gembox.spreadsheet.CellStyle)
method of that range to make the modification.
If modifying multiple formatting properties of a CellRange
, without preserving unmodified formatting properties, preferable way is to create new instance of CellStyle
, make modifications on it, and assign it using AbstractRange.setStyle(com.gembox.spreadsheet.CellStyle)
method of that range.
GemBox.Spreadsheet internally takes care not to allocate unnecessary cells when formatting a range of cells (for example, when formatting all worksheet cells
) and to cache formatting information of equally formatted cells, at the appropriate time, to reduce memory footprint.
// 'Border' formatting group
sheet.getCell("B22").setValue("Borders.setBorders(...)");
sheet.getCell("C22").getStyle().getBorders().setBorders(MultipleBorders.all(), SpreadsheetColor.fromName(ColorName.ACCENT_2), LineStyle.THIN);
CellStyle.getBorders()
,
CellBorder
Modifier and Type | Method and Description |
---|---|
CellBorder |
get(IndividualBorder individualBorder)
Gets the
CellBorder which contains the color and line style for the specified individual border of a cell. |
CellBorder |
getUnresolvedBorder(IndividualBorder individualBorder)
Gets the unresolved (direct)
CellBorder which contains the color and line style for the specified individual border of a cell. |
void |
setBorders(EnumSet<MultipleBorders> multipleBorders,
SpreadsheetColor lineColor,
LineStyle lineStyle)
Sets the color and line style for the specified multiple borders of a cell.
|
String |
toString()
Returns a
String that represents this CellBorders instance. |
public CellBorder get(IndividualBorder individualBorder)
CellBorder
which contains the color and line style for the specified individual border of a cell.individualBorder
- The individual border for which to get the color and line style.CellBorder
which contains the color and line style for the specified individual border of a cell.public CellBorder getUnresolvedBorder(IndividualBorder individualBorder)
CellBorder
which contains the color and line style for the specified individual border of a cell.individualBorder
- The individual border for which to get the color and line style.CellBorder
which contains the color and line style for the specified individual border of a cell.public void setBorders(EnumSet<MultipleBorders> multipleBorders, SpreadsheetColor lineColor, LineStyle lineStyle)
multipleBorders
- The multiple borders for which to set the color and line style.lineColor
- The border line color.lineStyle
- The line style.public String toString()
String
that represents this CellBorders
instance.
This method should be used primarily for debugging purposes and should be considered volatile (format of its return value might change in future versions).
toString
in class Object
String
that represents this CellBorders
instance.© GemBox Ltd. — All rights reserved.