Temas y colores de Excel
Los temas proporcionan un aspecto unificado con estilos denominados, efectos gráficos y otros objetos utilizados en un libro de trabajo. Por ejemplo, el estilo Acento1 se ve diferente en los temas de Office y Apex. A menudo, se aplica un tema de documento y luego se modifica según sus necesidades.
Aplicar temas en Microsoft Excel
Obtener y configurar colores de tema
Las API de Aspose.Cells proporcionan funciones para personalizar temas y colores. A continuación se muestran algunos métodos y propiedades que implementan colores de tema.
- La propiedad Style.ForegroundThemeColor se puede utilizar para establecer el color de primer plano.
- La propiedad Style.BackgroundThemeColor se puede utilizar para establecer el color de fondo.
- La propiedad Font.ThemeColor se puede utilizar para establecer el color de fuente.
- El método Workbook.getThemeColor se puede utilizar para obtener un color de tema.
- El método Workbook.setThemeColor se puede utilizar para establecer un color de tema.
El siguiente ejemplo muestra cómo obtener y establecer colores de tema.
El siguiente ejemplo utiliza un archivo XLSX de plantilla, obtiene los colores para diferentes tipos de colores de tema, cambia los colores y guarda el archivo de Microsoft Excel.
// 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.getDataDir(GetSetThemeColors.class); | |
// Instantiate Workbook object | |
// Open an exiting excel file | |
Workbook workbook = new Workbook(dataDir + "book1.xlsx"); | |
// Get the Background1 theme color | |
Color c = workbook.getThemeColor(ThemeColorType.BACKGROUND_1); | |
// Print the color | |
System.out.println("theme color Background1: " + c); | |
// Get the Accent2 theme color | |
c = workbook.getThemeColor(ThemeColorType.ACCENT_1); | |
// Print the color | |
System.out.println("theme color Accent2: " + c); | |
// Change the Background1 theme color | |
workbook.setThemeColor(ThemeColorType.BACKGROUND_1, Color.getRed()); | |
// Get the updated Background1 theme color | |
c = workbook.getThemeColor(ThemeColorType.BACKGROUND_1); | |
// Print the updated color for confirmation | |
System.out.println("theme color Background1 changed to: " + c); | |
// Change the Accent2 theme color | |
workbook.setThemeColor(ThemeColorType.ACCENT_1, Color.getBlue()); | |
// Get the updated Accent2 theme color | |
c = workbook.getThemeColor(ThemeColorType.ACCENT_1); | |
// Print the updated color for confirmation | |
System.out.println("theme color Accent2 changed to: " + c); | |
// Save the updated file | |
workbook.save(dataDir + "GetAndSetThemeColorBook.xlsx"); |
Personalización de Temas
El siguiente ejemplo muestra cómo aplicar temas personalizados con los colores deseados. El ejemplo utiliza un archivo de plantilla de muestra creado manualmente en Microsoft Excel 2007.
El archivo de plantilla CustomThemeColor.xlsx
El siguiente ejemplo carga un archivo XLSX de plantilla, define colores para diferentes tipos de colores de tema, aplica los colores personalizados y guarda el archivo de Excel.
El archivo generado con colores de tema personalizados
// 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.getDataDir(CustomizingThemes.class); | |
// Define Color array (of 12 colors) for the Theme | |
Color[] carr = new Color[12]; | |
carr[0] = Color.getAntiqueWhite(); // Background1 | |
carr[1] = Color.getBrown(); // Text1 | |
carr[2] = Color.getAliceBlue(); // Background2 | |
carr[3] = Color.getYellow(); // Text2 | |
carr[4] = Color.getYellowGreen(); // Accent1 | |
carr[5] = Color.getRed(); // Accent2 | |
carr[6] = Color.getPink(); // Accent3 | |
carr[7] = Color.getPurple(); // Accent4 | |
carr[8] = Color.getPaleGreen(); // Accent5 | |
carr[9] = Color.getOrange(); // Accent6 | |
carr[10] = Color.getGreen(); // Hyperlink | |
carr[11] = Color.getGray(); // Followed Hyperlink | |
// Instantiate a Workbook | |
// Open the spreadsheet file | |
Workbook workbook = new Workbook(dataDir + "book1.xlsx"); | |
// Set the custom theme with specified colors | |
workbook.customTheme("CustomeTheme1", carr); | |
// Save as the excel file | |
workbook.save(dataDir + "CustomThemeColor.xlsx"); |
Uso de Colores de Tema
El siguiente ejemplo aplica colores de primer plano y fuente de una celda basados en los tipos de colors de tema predeterminados (del libro de trabajo). También guarda el archivo de Excel en disco.
La siguiente salida se genera al ejecutar el código.
Los colores de tema se aplican a la celda D3 de la hoja de cálculo
// 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.getDataDir(UseThemeColors.class); | |
// Instantiate a Workbook | |
Workbook workbook = new Workbook(); | |
// Get cells collection in the first (default) worksheet | |
Cells cells = workbook.getWorksheets().get(0).getCells(); | |
// Get the D3 cell | |
Cell c = cells.get("D3"); | |
// Get the style of the cell | |
Style s = c.getStyle(); | |
// Set background color for the cell from the default theme Accent2 color | |
s.setBackgroundThemeColor(new ThemeColor(ThemeColorType.ACCENT_2, 0.5)); | |
// Set the pattern type | |
s.setPattern(BackgroundType.SOLID); | |
// Get the font for the style | |
Font f = s.getFont(); | |
// Set the theme color | |
f.setThemeColor(new ThemeColor(ThemeColorType.ACCENT_4, 0.1)); | |
// Apply style | |
c.setStyle(s); | |
// Put a value | |
c.putValue("Testing"); | |
// Save the excel file | |
workbook.save(dataDir + "UseThemeColors.xlsx"); |