Arbeiten mit XLSX-Paketierung
Arbeiten mit XLSX-Paketierung
Aspose.Cells FOSS für C++ liest und schreibt das .xlsx Open XML-Format über eine dedizierte Serialisierungsschicht. Die XlsxWorkbookSerializer-Klasse koordiniert das Laden und Speichern aller Arbeitsmappen-Teile, einschließlich Arbeitsblätter, Stile, definierte Namen, Dokumenteigenschaften und Auto-Filter.
Laden und Speichern von XLSX-Dateien
Verwenden Sie die Workbook-Klasse für alle Lade- und Speicheroperationen. Intern übernimmt XlsxWorkbookSerializer die Open XML-Paketierung:
#include "aspose/cells_foss/Workbook.h"
using namespace Aspose::Cells_FOSS;
int main() {
// Load existing XLSX
Workbook workbook("input.xlsx");
// Modify content...
// Save back to XLSX
workbook.Save("output.xlsx");
return 0;
}Dokumenteigenschaften
XLSX-Dateien enthalten Kern- und erweiterte Dokumenteigenschaften (Titel, Autor, Erstellungsdatum). Diese werden von XlsxDocumentProperties verwaltet, das die docProps/core.xml- und docProps/app.xml-Teile erstellt und lädt:
| Part | Verwaltet von | Contains |
|---|---|---|
docProps/core.xml | XlsxDocumentProperties::BuildCorePropertiesDocument | Titel, Autor, erstellt, geändert |
docProps/app.xml | XlsxDocumentProperties::BuildExtendedPropertiesDocument | Anwendungsname, Version |
Arbeitsmappen-Metadaten und -Einstellungen
Metadaten auf Arbeitsmappenebene — Berechnungseinstellungen, Arbeitsmappenansichten und Arbeitsmappenschutz — werden von XlsxWorkbookProperties verwaltet:
BuildWorkbookPropertiesElement— schreibt die Berechnungs- und Iterationseinstellungen der ArbeitsmappeBuildWorkbookProtectionElement— schreibt den Passwortschutz auf ArbeitsmappenebeneBuildBookViewsElement— schreibt Fensterposition und Einstellungen des aktiven Blatts
Stile und Zahlenformate
Der Stil-Teil (xl/styles.xml) wird von XlsxWorkbookStyles verwaltet. Er mappt Style-Objekte aus dem In-Memory-Modell zu serialisierten Schrift-, Füll-, Rahmen- und Zahlenformat-Datensätzen:
BuildStylesheet— serialisiert alle Stile nach XMLLoadStylesheet— liest Stile aus einer bestehenden XLSX-DateiStylesEqual— prüft, ob zwei Stilobjekte ein identisches XML erzeugen würden
Auto-Filter-Paketierung
Der Auto-Filter-Status pro Arbeitsblatt wird von XlsxWorkbookAutoFilter serialisiert:
BuildAutoFilterElement— schreibt das<autoFilter>XML-ElementLoadAutoFilter— liest die Auto-Filter-Konfiguration aus einem Arbeitsblattteil
Definierte Namen
Benannte Bereiche und Formeln werden im Arbeitsbuchteil verpackt und von XlsxWorkbookDefinedNames geladen:
BuildDefinedNames— schreibt alleDefinedName-Einträge in das Arbeitsbuch XMLLoadWorkbookDefinedNames— liest definierte Namen beim Laden der Datei
Tipps und bewährte Verfahren
- Verwenden Sie
Workbook::Save(fileName)als einzigen Austrittspunkt — rufen Sie Serializer-Klassen nicht direkt auf, es sei denn, Sie erweitern die Bibliothek. - Das
.xlsx-Format ist das einzige vollständig unterstützte Format; das Speichern in andere Formate ist in v0.1 nicht verfügbar. - Dateipfade, die an
Workbook(filePath)oderSave(filePath)übergeben werden, müssen den plattformspezifischen Pfadtrenner verwenden und vollständig qualifiziert sein, wenn sie in Umgebungen ausgeführt werden, in denen das Arbeitsverzeichnis variieren kann. - Der über
XlsxWorkbookProperties::BuildWorkbookProtectionElementangewendete Arbeitsmappen-Schutz ist unabhängig vom auf Arbeitsblattebene überWorksheet::Protectgesetzten Schutz.
Häufige Probleme
| Problem | Ursache | Behebung |
|---|---|---|
| Datei lässt sich nicht laden | Ungültige oder verschlüsselte XLSX | Stellen Sie sicher, dass die Datei ein einfaches (nicht passwortgeschütztes) XLSX ist |
| Stile nach dem Speichern verloren | Stil vor dem Speichern nicht angewendet | Rufen Sie Cell::SetStyle(style) vor Workbook::Save auf |
| Definierte Namen fehlen nach dem Rundlauf | Geltungsbereich auf falsches Blatt gesetzt | Verwenden Sie DefinedName::SetFormula mit vollständiger Bereichsadresse |
API Reference Zusammenfassung
| Klasse/Methode | Beschreibung |
|---|---|
Workbook(filePath) | Laden Sie eine XLSX-Datei |
Workbook::Save(fileName) | Als XLSX speichern |
XlsxWorkbookSerializer::Save | Intern: serialisiert Modell zu Open XML |
XlsxWorkbookSerializer::Load | Intern: deserialisiert Open XML zu Modell |
XlsxDocumentProperties | Kern- und erweiterte Dokumenteneigenschaftspaketierung |
XlsxWorkbookProperties | Arbeitsmappen-Metadaten- und Einstellungen-Serialisierung |
XlsxWorkbookStyles | Style sheet-Paketierung |
XlsxWorkbookAutoFilter | Auto-filter XML Paketierung |
XlsxWorkbookDefinedNames | Definierter Name XML Paketierung |