Configuración de bordes con C++
Añadiendo Bordes a las Celdas
Microsoft Excel permite a los usuarios dar formato a las celdas agregando bordes. El tipo de borde depende de en qué posición se añada. Por ejemplo, un borde superior se añade en la posición superior de una celda. Los usuarios también pueden modificar el estilo de línea y el color de los bordes.
Con Aspose.Cells, los desarrolladores pueden agregar bordes y personalizar su aspecto de la misma manera flexible que en Microsoft Excel.
Añadiendo Bordes a las Celdas
Aspose.Cells proporciona una clase, Workbook que representa un archivo de Microsoft Excel. La clase Workbook contiene una colección Worksheets que permite acceder a cada hoja de cálculo en el archivo de Excel. Una hoja de cálculo está representada por la clase Worksheet. La clase Worksheet proporciona la colección Cells. Cada elemento en la colección Cells representa un objeto de la clase Cell.
Aspose.Cells ofrece el método GetStyle en la clase Cell. El método SetStyle se usa para establecer el estilo de formato de una celda. La clase Style proporciona propiedades para agregar bordes a las celdas.
Añadir bordes a una celda
Los desarrolladores pueden agregar bordes a una celda usando la colección GetBorders() del objeto Style. El tipo de borde se pasa como índice a la colección GetBorders(). Todos los tipos de borde están predefinidos en la enumeración BorderType.
Enumeración de Bordes
Tipos de Bordes | Descripción |
---|---|
BordeInferior | Línea de borde inferior |
DiagonalAbajo | Línea diagonal de la esquina superior izquierda a la inferior derecha |
DiagonalArriba | Línea diagonal de la esquina inferior izquierda a la superior derecha |
BordeIzquierdo | Línea de borde izquierda |
BordeDerecho | Línea de borde derecha |
BordeSuperior | Línea de borde superior |
La colección GetBorders() almacena todos los bordes. Cada borde en la colección GetBorders() está representado por un objeto Border que proporciona dos propiedades, GetColor() y GetLineStyle() para establecer el color de línea del borde y su estilo respectivamente.
Para establecer el color de línea de un borde, selecciona un color usando la enumeración Color y asígnalo a la propiedad Color del objeto Borde.
El estilo de línea del borde se establece seleccionando un estilo de línea de la enumeración CellBorderType.
Enumeración de Tipo de Bordes de Celda
Estilos de líneas | Descripción |
---|---|
DashDot | Línea delgada de puntos y guiones |
DashDotDot | Línea delgada de puntos, guiones y puntos |
Dashed | Línea discontinuada |
Dotted | Línea punteada |
Double | Línea doble |
Hair | Línea muy delgada |
MediumDashDot | Línea de puntos y guiones de grosor medio |
MediumDashDotDot | Línea de puntos, guiones y puntos de grosor medio |
MediumDashed | Línea discontinuada de grosor medio |
None | Sin línea |
Medium | Línea de grosor medio |
SlantedDashDot | Línea inclinada de puntos y guiones de grosor medio |
Thick | Línea gruesa |
Thin | Línea fina |
Seleccione uno de los estilos de línea y luego asignarlo a la propiedad GetLineStyle() del objeto 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();
}
Agregar bordes a un rango de celdas
También es posible agregar bordes a un rango de celdas en lugar de solo a una celda. Para ello, primero cree un rango de celdas llamando al método CreateRange de la colección Cells. Toma los siguientes parámetros:
- Primera fila, la primera fila del rango.
- Primera columna, representa la primera columna del rango.
- Número de filas, el número de filas en el rango.
- Número de columnas, el número de columnas en el rango.
El método CreateRange devuelve un objeto Range, que contiene el rango de celdas especificado. El objeto Range proporciona un método SetOutlineBorder que toma los siguientes parámetros para agregar un borde al rango de celdas:
- Tipo de borde, el tipo de borde, seleccionado de la enumeración BorderType.
- Estilo de línea, el estilo de línea del borde, seleccionado de la enumeración CellBorderType.
- Color, el color de línea, seleccionado de la enumeración 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();
}