Paramètres de bordure avec C++

Ajout de bordures aux cellules

Microsoft Excel permet aux utilisateurs de formater les cellules en ajoutant des bordures. Le type de bordure dépend de l’endroit où elle est ajoutée. Par exemple, une bordure supérieure est celle ajoutée en haut d’une cellule. Les utilisateurs peuvent également modifier le style de ligne et la couleur des bordures.

Avec Aspose.Cells, les développeurs peuvent ajouter des bordures et personnaliser leur aspect de la même manière flexible que dans Microsoft Excel.

Ajout de bordures aux cellules

Aspose.Cells fournit une classe, Workbook qui représente un fichier Microsoft Excel. La classe Workbook contient une collection Worksheets qui permet d’accéder à chaque feuille de calcul dans le fichier Excel. Une feuille de calcul est représentée par la classe Worksheet. La classe Worksheet fournit la collection Cells. Chaque élément dans la collection Cells représente un objet de la classe Cell.

Aspose.Cells fournit la méthode GetStyle dans la classe Cell. La méthode SetStyle est utilisée pour définir le style de mise en forme d’une cellule. La classe Style fournit des propriétés pour ajouter des bordures aux cellules.

Ajout de bordures à une cellule

Les développeurs peuvent ajouter des bordures à une cellule en utilisant la collection GetBorders() de l’objet Style. Le type de bordure est passé comme un index à la collection GetBorders(). Tous les types de bordures sont prédéfinis dans l’énumération BorderType.

Énumération de bordure

Types de bordure Description
BordureInférieure Une ligne de bordure inférieure
DiagonaleVersLeBas Une ligne diagonale du haut gauche au bas droit
DiagonalUp Une ligne diagonale du coin inférieur gauche vers le haut droit
LeftBorder Une ligne de bordure gauche
RightBorder Une ligne de bordure droite
TopBorder Une ligne de bordure supérieure

La collection GetBorders() stocke toutes les bordures. Chaque bordure dans la collection GetBorders() est représentée par un objet Border qui fournit deux propriétés, GetColor() et GetLineStyle() pour définir respectivement la couleur et le style de la ligne d’une bordure.

Pour définir la couleur d’une ligne de bordure, sélectionnez une couleur en utilisant l’énumération Color et assignez-la à la propriété Color de l’objet Border.

Le style de ligne de la bordure est défini en sélectionnant un style de ligne dans l’énumération CellBorderType.

Énumération de Type de Bordure Cellulaire

Styles de ligne Description
DashDot Ligne mince en pointillés tirets
DashDotDot Ligne mince en pointillés tirets-dots
Dashed Ligne en pointillés
Dotted Ligne en dots
Double Double ligne
Hair Ligne très fine
MediumDashDot Ligne moyenne en pointillés tirets
MediumDashDotDot Ligne moyenne en pointillés tirets-dots
MediumDashed Ligne moyenne en pointillés
None Aucune ligne
Medium Ligne moyenne
SlantedDashDot Ligne oblique moyenne en pointillés tirets
Thick Ligne épaisse
Thin Ligne fine

Sélectionnez l’un des styles de ligne, puis assignez-le à la propriété GetLineStyle() de l’objet Border.

#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;

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

    U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
    U16String outDir(u"..\\Data\\02_OutputDirectory\\");

    Workbook workbook;
    Worksheet worksheet = workbook.GetWorksheets().Get(0);
    Cell cell = worksheet.GetCells().Get(u"A1");
    cell.PutValue(u"Visit Aspose!");

    Style style = cell.GetStyle();

    style.GetBorders().Get(BorderType::TopBorder).SetLineStyle(CellBorderType::Thick);
    style.GetBorders().Get(BorderType::TopBorder).SetColor(Color::Black());

    style.GetBorders().Get(BorderType::BottomBorder).SetLineStyle(CellBorderType::Thick);
    style.GetBorders().Get(BorderType::BottomBorder).SetColor(Color::Black());

    style.GetBorders().Get(BorderType::LeftBorder).SetLineStyle(CellBorderType::Thick);
    style.GetBorders().Get(BorderType::LeftBorder).SetColor(Color::Black());

    style.GetBorders().Get(BorderType::RightBorder).SetLineStyle(CellBorderType::Thick);
    style.GetBorders().Get(BorderType::RightBorder).SetColor(Color::Black());

    cell.SetStyle(style);

    workbook.Save(outDir + u"book1.out.xls");
    std::cout << "Excel file saved successfully!" << std::endl;

    Aspose::Cells::Cleanup();
}

Ajout de bordures à une plage de cellules

Il est également possible d’ajouter des bordures à une plage de cellules plutôt qu’à une seule cellule. Pour ce faire, créez d’abord une plage de cellules en appelant la méthode CreateRange de la collection Cells. Elle prend les paramètres suivants :

  • Première ligne, la première ligne de la plage.
  • Première colonne, represente la première colonne de la plage.
  • Nombre de lignes, le nombre de lignes dans la plage.
  • Nombre de colonnes, le nombre de colonnes dans la plage.

La méthode CreateRange renvoie un objet Range, qui contient la plage de cellules spécifiée. L’objet Range fournit une méthode SetOutlineBorder qui accepte les paramètres suivants pour ajouter une bordure à cette plage de cellules :

  • Type de Bordure, le type de bordure, sélectionné dans l’énumération BorderType.
  • Style de Ligne, le style de ligne de la bordure, sélectionné dans l’énumération CellBorderType.
  • Couleur, la couleur de la ligne, sélectionnée dans l’énumération Color.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;

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

    // Source directory path
    U16String srcDir(u"..\\Data\\01_SourceDirectory\\");

    // Output directory path
    U16String outDir(u"..\\Data\\02_OutputDirectory\\");

    // Create workbook
    Workbook workbook;

    // Obtain the reference of the first (default) worksheet
    Worksheet worksheet = workbook.GetWorksheets().Get(0);

    // Accessing the "A1" cell from the worksheet
    Cell cell = worksheet.GetCells().Get(u"A1");

    // Adding some value to the "A1" cell
    cell.PutValue(u"Hello World From Aspose");

    // Creating a range of cells starting from "A1" cell to 3rd column in a row
    Range range = worksheet.GetCells().CreateRange(0, 0, 1, 3);

    // Adding a thick top border with blue line
    range.SetOutlineBorder(BorderType::TopBorder, CellBorderType::Thick, Color::Blue());

    // Adding a thick bottom border with blue line
    range.SetOutlineBorder(BorderType::BottomBorder, CellBorderType::Thick, Color::Blue());

    // Adding a thick left border with blue line
    range.SetOutlineBorder(BorderType::LeftBorder, CellBorderType::Thick, Color::Blue());

    // Adding a thick right border with blue line
    range.SetOutlineBorder(BorderType::RightBorder, CellBorderType::Thick, Color::Blue());

    // Saving the Excel file
    workbook.Save(outDir + u"book1.out.xls");

    std::cout << "Excel file created successfully!" << std::endl;

    Aspose::Cells::Cleanup();
}