Arbeiten mit XLSX-Paketierung

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:

PartVerwaltet vonContains
docProps/core.xmlXlsxDocumentProperties::BuildCorePropertiesDocumentTitel, Autor, erstellt, geändert
docProps/app.xmlXlsxDocumentProperties::BuildExtendedPropertiesDocumentAnwendungsname, Version

Arbeitsmappen-Metadaten und -Einstellungen

Metadaten auf Arbeitsmappenebene — Berechnungseinstellungen, Arbeitsmappenansichten und Arbeitsmappenschutz — werden von XlsxWorkbookProperties verwaltet:

  • BuildWorkbookPropertiesElement — schreibt die Berechnungs- und Iterationseinstellungen der Arbeitsmappe
  • BuildWorkbookProtectionElement — schreibt den Passwortschutz auf Arbeitsmappenebene
  • BuildBookViewsElement — 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 XML
  • LoadStylesheet — liest Stile aus einer bestehenden XLSX-Datei
  • StylesEqual — 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-Element
  • LoadAutoFilter — liest die Auto-Filter-Konfiguration aus einem Arbeitsblattteil

Definierte Namen

Benannte Bereiche und Formeln werden im Arbeitsbuchteil verpackt und von XlsxWorkbookDefinedNames geladen:

  • BuildDefinedNames — schreibt alle DefinedName-Einträge in das Arbeitsbuch XML
  • LoadWorkbookDefinedNames — 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) oder Save(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::BuildWorkbookProtectionElement angewendete Arbeitsmappen-Schutz ist unabhängig vom auf Arbeitsblattebene über Worksheet::Protect gesetzten Schutz.

Häufige Probleme

ProblemUrsacheBehebung
Datei lässt sich nicht ladenUngültige oder verschlüsselte XLSXStellen Sie sicher, dass die Datei ein einfaches (nicht passwortgeschütztes) XLSX ist
Stile nach dem Speichern verlorenStil vor dem Speichern nicht angewendetRufen Sie Cell::SetStyle(style) vor Workbook::Save auf
Definierte Namen fehlen nach dem RundlaufGeltungsbereich auf falsches Blatt gesetztVerwenden Sie DefinedName::SetFormula mit vollständiger Bereichsadresse

API Reference Zusammenfassung

Klasse/MethodeBeschreibung
Workbook(filePath)Laden Sie eine XLSX-Datei
Workbook::Save(fileName)Als XLSX speichern
XlsxWorkbookSerializer::SaveIntern: serialisiert Modell zu Open XML
XlsxWorkbookSerializer::LoadIntern: deserialisiert Open XML zu Modell
XlsxDocumentPropertiesKern- und erweiterte Dokumenteneigenschaftspaketierung
XlsxWorkbookPropertiesArbeitsmappen-Metadaten- und Einstellungen-Serialisierung
XlsxWorkbookStylesStyle sheet-Paketierung
XlsxWorkbookAutoFilterAuto-filter XML Paketierung
XlsxWorkbookDefinedNamesDefinierter Name XML Paketierung

Siehe auch

 Deutsch