Arbeiten mit Spreadsheet Management
Arbeiten mit Tabellenkalkulationsverwaltung
Die Klasse Workbook ist der Einstiegspunkt für alle Tabellenkalkulationsoperationen in Aspose.Cells FOSS für C++. Sie bietet Methoden zum Erstellen neuer Arbeitsmappen, zum Laden vorhandener XLSX-Dateien, zum Verwalten von Arbeitsblättern und zum Speichern des Ergebnisses.
Erstellen einer neuen Arbeitsmappe
Instanziieren Sie Workbook, um eine leere Arbeitsmappe zu erstellen. Ein Standardarbeitsblatt wird automatisch erzeugt.
#include "aspose/cells_foss/Workbook.h"
#include "aspose/cells_foss/Worksheet.h"
using namespace Aspose::Cells_FOSS;
int main() {
Workbook workbook;
Worksheet& sheet = workbook.GetWorksheets()[0];
sheet.SetName("Summary");
workbook.Save("output.xlsx");
return 0;
}Laden einer bestehenden Arbeitsmappe
Übergeben Sie einen Dateipfad an den Workbook-Konstruktor, um eine vorhandene XLSX-Datei zu laden. Nach dem Laden sind Arbeitsblätter und Zellendaten sofort zugänglich.
Workbook workbook("existing.xlsx");
Worksheet& sheet = workbook.GetWorksheets()[0];
// Access or modify cells here
workbook.Save("modified.xlsx");Konfigurieren von Arbeitsblatteigenschaften
Die Worksheet-Klasse stellt Anzeige- und Schutz-Eigenschaften bereit. Verwenden Sie diese, um die Sichtbarkeit des Blatts, die Gitternetzanzeige, den Zoom und die Registerkartenfarbe zu konfigurieren.
Worksheet& sheet = workbook.GetWorksheets()[0];
sheet.SetName("Data");
sheet.SetShowGridlines(false);
sheet.SetShowRowColumnHeaders(true);
sheet.SetZoom(80);Schützen und Aufheben des Schutzes eines Arbeitsblatts
Rufen Sie Worksheet::Protect auf, um ein Blatt gegen Änderungen zu sperren, und Worksheet::Unprotect, um den Schutz zu entfernen:
sheet.Protect("password");
// ... distribute the workbook ...
sheet.Unprotect("password");Sicherstellung eindeutiger Blatt- und definierter Namensbereiche
Beim programmgesteuerten Hinzufügen mehrerer Arbeitsblätter verwenden Sie Workbook::EnsureUniqueSheetName, um Namenskollisionen zu vermeiden. Verwenden Sie Workbook::EnsureValidDefinedNameScope, um zu prüfen, dass definierte Namen korrekt zugeordnet sind.
workbook.EnsureUniqueSheetName();
workbook.EnsureUniqueDefinedName();Speichern einer Arbeitsmappe
Rufen Sie Workbook::Save(fileName) auf, um die Arbeitsmappe auf die Festplatte zu schreiben. Mehrere Überladungen akzeptieren einen Dateinamen, einen Stream oder ein explizites SaveFormat.
workbook.Save("products.xlsx");Tipps und bewährte Verfahren
- Rufen Sie stets
Workbook::Dispose()auf, wenn Sie mit einer Arbeitsmappe fertig sind, um nicht verwaltete Ressourcen freizugeben. - Tabellennamen müssen innerhalb einer Arbeitsmappe eindeutig sein — verwenden Sie
EnsureUniqueSheetNamenach Batch-Ergänzungen. - Setzen Sie
Worksheet::SetShowGridlines(false)für präsentationsartige Blätter, um die Lesbarkeit zu verbessern. - Verwenden Sie
Worksheet::SetZoom(value), um einen Standard-Zoom-Level (Prozent) für Blattansichten festzulegen. - Über
Worksheet::SetTabColorzugewiesene Registerkartenfarben helfen Benutzern, Arbeitsblätter visuell zu unterscheiden.
Häufige Probleme
| Problem | Ursache | Lösung |
|---|---|---|
| Datei beim Laden nicht gefunden | Falscher Pfad | Absoluten Pfad verwenden oder Arbeitsverzeichnis überprüfen |
| Kollision von Blattnamen | Doppelte Namen beim Hinzufügen von Blättern | Rufen Sie EnsureUniqueSheetName() nach jeder Hinzufügung auf |
| Arbeitsmappenänderungen nicht gespeichert | Save nicht aufgerufen | Rufen Sie workbook.Save(path) immer vor dem Beenden auf |
| Warnungen vor Speicherlecks | Dispose nicht aufgerufen | Rufen Sie workbook.Dispose() am Ende des Geltungsbereichs auf |
API Reference Zusammenfassung
| Klasse/Methode | Beschreibung |
|---|---|
Workbook() | Erstellt eine neue leere Arbeitsmappe |
Workbook(filePath) | Lädt eine vorhandene XLSX-Datei |
Workbook::Save(fileName) | Speichert die Arbeitsmappe auf die Festplatte |
Workbook::EnsureUniqueSheetName() | Behebt doppelte Blattnamen |
Workbook::Dispose() | Gibt Ressourcen frei |
Worksheet::SetName(name) | Bennent das Arbeitsblatt um |
Worksheet::SetShowGridlines(bool) | Schaltet die Sichtbarkeit der Gitternetzlinien um |
Worksheet::SetZoom(percent) | Legt den Standard-Zoom-Prozentsatz fest |
Worksheet::Protect(password) | Sperrt das Arbeitsblatt |
Worksheet::Unprotect(password) | Entsperrt das Arbeitsblatt |