Randlinstellungen mit C++
Rahmen zu Zellen hinzufügen
Microsoft Excel ermöglicht es Benutzern, Zellen durch Hinzufügen von Rändern zu formatieren. Der Randtyp hängt davon ab, wo er hinzugefügt wird. Zum Beispiel ist ein oberer Rand einer, der an die obere Position einer Zelle gesetzt wird. Benutzer können auch den Linienstil und die Farbe der Ränder anpassen.
Mit Aspose.Cells können Entwickler Rahmen hinzufügen und anpassen, wie sie in der gleichen flexiblen Weise wie in Microsoft Excel aussehen.
Rahmen zu Zellen hinzufügen
Aspose.Cells bietet eine Klasse, Workbook, die eine Microsoft Excel-Datei repräsentiert. Die Workbook-Klasse enthält eine Worksheets–Sammlung, die Zugriff auf jedes Arbeitsblatt in der Excel-Datei ermöglicht. Ein Arbeitsblatt wird durch die Worksheet-Klasse dargestellt. Die Worksheet-Klasse bietet die Cells-Sammlung. Jedes Element in der Cells-Sammlung repräsentiert ein Objekt der Cell-Klasse.
Aspose.Cells bietet die GetStyle-Methode in der Cell-Klasse. Die SetStyle-Methode wird verwendet, um den Formatierungsstil einer Zelle festzulegen. Die Style-Klasse stellt Eigenschaften zum Hinzufügen von Rändern zu Zellen bereit.
Rahmen zu einer Zelle hinzufügen
Entwickler können Ränder zu einer Zelle hinzufügen, indem sie die Style-Eigenschaftensammlung des GetBorders()-Objekts verwenden. Der Rahmentyp wird als Index an die GetBorders()-Sammlung übergeben. Alle Rahmentypen sind in der BorderType-Aufzählung vorab definiert.
Rahmen-Aufzählung
Rahmenarten | Beschreibung |
---|---|
UntererRahmen | Eine untere Rahmenlinie |
DiagonalLinksRechts | Eine diagonale Linie von oben links nach unten rechts |
DiagonalRechtsLinks | Eine diagonale Linie von unten links nach oben rechts |
LinkerRahmen | Eine linke Rahmenlinie |
RechterRahmen | Eine rechte Rahmenlinie |
ObererRahmen | Eine obere Rahmenlinie |
Die GetBorders()-Sammlung speichert alle Ränder. Jeder Rand in der GetBorders()-Sammlung wird durch ein Border-Objekt repräsentiert, das zwei Eigenschaften, GetColor() und GetLineStyle(), zur Festlegung der Linienfarbe und des Stils eines Rands bereitstellt.
Um die Linienfarbe eines Rahmens festzulegen, wählen Sie eine Farbe mit dem Enum Color aus und weisen Sie sie der Color-Eigenschaft des Rahmenobjekts zu.
Der Linienstil des Rands wird festgelegt, indem ein Linienstil aus der CellBorderType-Aufzählung ausgewählt wird.
Zellrahmentyp-Enumeration
Linienstile | Beschreibung |
---|---|
DashDot | Dünne gepunktete Linie |
DashDotDot | Dünne gepunktet-gestreifte Linie |
Gestrichelt | Gitterlinie |
Gepunktet | Gepunktete Linie |
Doppel | Doppellinie |
Haar | Haarlinie |
MediumDashDot | Mittlere dash-dot-Linie |
MediumDashDotDot | Mittlere Dash-dot-gestreifte Linie |
MittlereGestrichelt | Mittlere gestrichelte Linie |
Keine | Keine Linie |
Mittel | Mittlere Linie |
SchrägDashDot | Schräg gestreifte dash-dot-Linie |
Dick | Dicke Linie |
Schmal | Schmale Linie |
Wählen Sie einen der Linienstile aus und weisen Sie ihn der Border-Eigenschaft des GetLineStyle()-Objekts zu.
#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();
}
Hinzufügen von Rahmen zu einem Zellenbereich
Es ist auch möglich, Ränder an einen Zellbereich statt nur an eine einzelne Zelle hinzuzufügen. Dazu erstellen Sie zunächst einen Zellbereich, indem Sie die Cells-Sammlung mit der CreateRange-Methode aufrufen. Diese nimmt die folgenden Parameter:
- Erste Zeile, die erste Zeile des Bereichs.
- Erste Spalte, stellt die erste Spalte des Bereichs dar.
- Anzahl der Zeilen, die Anzahl der Zeilen im Bereich.
- Anzahl der Spalten, die Anzahl der Spalten im Bereich.
Die CreateRange-Methode gibt ein Range-Objekt zurück, das den angegebenen Zellbereich enthält. Das Range-Objekt bietet eine SetOutlineBorder-Methode, die die folgenden Parameter akzeptiert, um einen Rand zum Zellbereich hinzuzufügen:
- Ramentyp, der Randtyp, ausgewählt aus der BorderType-Aufzählung.
- Linienstil, der Linienstil des Rands, ausgewählt aus der CellBorderType-Aufzählung.
- Farbe, die aus der Farb-Aufzählung ausgewählte Linienfarbe.
#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();
}