Thèmes et couleurs Excel
Les thèmes offrent un aspect unifié avec des styles nommés, des effets graphiques et d’autres objets utilisés dans un classeur. Par exemple, le style Accent1 a un aspect différent dans les thèmes Office et Apex. Souvent, vous appliquez un thème de document, puis l’amendez selon vos besoins.
Application de thèmes dans Microsoft Excel
Obtenir et définir les couleurs de thème
Les API Aspose.Cells offrent des fonctionnalités pour personnaliser les thèmes et les couleurs. Voici quelques méthodes et propriétés qui implémentent les couleurs de thème.
- La propriété Style.ForegroundThemeColor peut être utilisée pour définir la couleur d’avant-plan.
- La propriété Style.BackgroundThemeColor peut être utilisée pour définir la couleur d’arrière-plan.
- La propriété Font.ThemeColor peut être utilisée pour définir la couleur de la police.
- La méthode Workbook.getThemeColor peut être utilisée pour obtenir une couleur de thème.
- La méthode Workbook.setThemeColor peut être utilisée pour définir une couleur de thème.
L’exemple suivant montre comment obtenir et définir les couleurs de thème.
L’exemple suivant utilise un fichier XLSX modèle, obtient les couleurs pour différents types de couleurs de thème, modifie les couleurs et enregistre le fichier 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"); |
Personnalisation des thèmes
L’exemple suivant montre comment appliquer des thèmes personnalisés avec les couleurs de votre choix. L’exemple utilise un fichier de modèle d’exemple créé manuellement dans Microsoft Excel 2007.
Le fichier modèle CustomThemeColor.xlsx
L’exemple suivant charge un fichier XLSX modèle, définit des couleurs pour différents types de couleurs de thème, applique les couleurs personnalisées et enregistre le fichier Excel.
Le fichier généré avec des couleurs de thème personnalisées
// 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"); |
Utilisation des couleurs de thème
L’exemple suivant applique les couleurs d’avant-plan et de police d’une cellule en fonction des types de couleurs de thème par défaut (du classeur). Il enregistre également le fichier Excel sur le disque.
La sortie ci-dessous est générée lors de l’exécution du code.
Les couleurs de thème appliquées à la cellule D3 de la feuille de calcul
// 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"); |