Modify an Existing Style
To apply the same formatting options to cells, create a new formatting style object. A formatting style object is a combination of formatting characteristics, such as font, font size, indentation, number, border, patterns, etc., named and stored as a set. When applied, all of the formatting in that style are applied.
You can also use an existing style, save it with the workbook and use it to format information with the same attributes.
When cells aren’t explicitly formatted, the Normal style (the workbook’s default style) is applied. Microsoft Excel predefines several styles in addition to the Normal style including Comma, Currency, and Percent.
Aspose.Cells allows modifying any of these styles or any other style that you define with your desired attributes.
Using Microsoft Excel
To update a style in Microsoft Excel 97-2003:
- On the Format menu, click Style.
- Select the style you want to modify from the Style name list.
- Click Modify.
- Select the style options that you want using the tabs in the Format Cells dialog.
- Click OK.
- Under Style includes, specify the style features you want.
- Click OK to save the style and apply it to the selected range.
Using Aspose.Cells
Aspose.Cells provides the Style.update method for updating an existing style.
To change a named style, whether created dynamically using Aspose.Cells or predefined, call the Style.update method to reflect any changes in style applied to a cell or range.
The Style.update method behaves like the OK button in the Style dialog: after making changes to an existing style, call to implement the change. If you have already applied a style to a range of cells, modify the style attributes and call the method, the formatting of those cells is updated automatically
Creating and Modifying a Style
This example creates a style object, applies it to a range of cells and modifies the style object. The modifications are automatically applied to the cell and the range the style was applied to.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(CreatingStyle.class) + "articles/"; | |
// Create a workbook. | |
Workbook workbook = new Workbook(); | |
// Create a new style object. | |
Style style = workbook.createStyle(); | |
// Set the number format. | |
style.setNumber(14); | |
// Set the font color to red color. | |
style.getFont().setColor(Color.getRed()); | |
// Name the style. | |
style.setName("Date1"); | |
// Get the first worksheet cells. | |
Cells cells = workbook.getWorksheets().get(0).getCells(); | |
// Specify the style (described above) to A1 cell. | |
cells.get("A1").setStyle(style); | |
// Create a range (B1:D1). | |
Range range = cells.createRange("B1", "D1"); | |
// Initialize styleflag object. | |
StyleFlag flag = new StyleFlag(); | |
// Set all formatting attributes on. | |
flag.setAll(true); | |
// Apply the style (described above)to the range. | |
range.applyStyle(style, flag); | |
// Modify the style (described above) and change the font color from red to black. | |
style.getFont().setColor(Color.getBlack()); | |
// Done! Since the named style (described above) has been set to a cell and range,the change would be Reflected(new | |
// modification is implemented) to cell(A1) and //range (B1:D1). | |
style.update(); | |
// Save the excel file. | |
workbook.save(dataDir + "CreatingStyle_out.xls"); |
Modifying an Existing Style
This example uses a simple template Excel file in which a style called Percent has already been applied to a range. The example:
- gets the style,
- creates a style object and
- modifies the style formatting.
The modifications are automatically applied to the range the style was applied to.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(ModifyExistingStyle.class) + "articles/"; | |
/* | |
* Create a workbook. Open a template file. In the book1.xls file, we have applied Microsoft Excel's Named style | |
* i.e., "Percent" to the range "A1:C8". | |
*/ | |
Workbook workbook = new Workbook(dataDir + "book1.xlsx"); | |
// We get the Percent style and create a style object. | |
Style style = workbook.getNamedStyle("Percent"); | |
// Change the number format to "0.00%". | |
style.setNumber(10); | |
// Set the font color. | |
style.getFont().setColor(Color.getRed()); | |
// Update the style. so, the style of range "A1:C8" will be changed too. | |
style.update(); | |
// Save the excel file. | |
workbook.save(dataDir + "ModifyExistingStyle_out.xlsx"); |