Police du thème pour les titres et le corps en C++

Polices de thème pour les en-têtes et le corps dans Excel

Dans Excel, sélectionnez l’onglet Accueil, cliquez sur la liste déroulante de police, vous verrez “Polices de thème” avec deux polices de thème : Calibri Light (Titres) et Calibri (Corps) en haut avec le paramètre régional en anglais.

Polices de thème

Si la police de thème est sélectionnée, le nom de la police s’affichera différemment selon les régions. Si vous ne souhaitez pas que la police soit automatiquement modifiée dans différentes régions, ne sélectionnez pas les deux polices de thème.

Modifier la police des titres et du corps de manière programmée

Avec Aspose.Cells for C++, nous pouvons vérifier si la police par défaut est une police de thème ou définir la police de thème avec la propriété Font.GetSchemeType().

Le code d’exemple suivant montre comment manipuler la police de thème.

#include <iostream>
#include "Aspose.Cells.h"

using namespace Aspose::Cells;

int main()
{
    Aspose::Cells::Startup();

    // Create a workbook object
    Workbook workbook(u"Book1.xlsx");

    // Get the default style
    Style defaultStyle = workbook.GetDefaultStyle();

    // Get the font scheme type
    FontSchemeType schemeType = defaultStyle.GetFont().GetSchemeType();

    // Check if the font is a theme font
    if (schemeType == FontSchemeType::Major || schemeType == FontSchemeType::Minor)
    {
        std::cout << "It's theme font" << std::endl;
    }

    // Change theme font to normal font
    defaultStyle.GetFont().SetSchemeType(FontSchemeType::None);

    // Set the modified default style back to the workbook
    workbook.SetDefaultStyle(defaultStyle);

    Aspose::Cells::Cleanup();
    return 0;
}

Récupération dynamique de la police de thème locale de manière programmatique

Parfois, nos serveurs et les machines des utilisateurs ne sont pas dans la même région. Comment pouvons-nous obtenir la même police que les utilisateurs souhaitent pour le traitement de fichiers?

Nous devons définir les paramètres régionaux du système avant de charger le fichier avec la propriété LoadOptions.GetRegion().

Le code d’exemple suivant montre comment obtenir la police de thème locale.

#include <iostream>
#include "Aspose.Cells.h"

using namespace Aspose::Cells;

int main()
{
    Aspose::Cells::Startup();

    // Instantiate a new LoadOptions
    LoadOptions options;

    // Set the customer's region to Japan
    options.SetRegion(CountryCode::Japan);

    // Instantiate a new Workbook with the specified options
    Workbook workbook(u"Book1.xlsx", options);

    // Get the default style of the workbook
    Style defaultStyle = workbook.GetDefaultStyle();

    // Get the customer's local font name
    U16String localFontName = defaultStyle.GetFont().GetName();

    std::cout << "Local Font Name: " << localFontName.ToUtf8() << std::endl;

    Aspose::Cells::Cleanup();
    return 0;
}