Werken met XLSX-verpakking

Werken met XLSX-verpakking

Werken met XLSX-verpakking

Aspose.Cells FOSS voor C++ leest en schrijft het .xlsx Open XML-formaat via een dedicated serialisatielaag. De XlsxWorkbookSerializer-klasse coördineert het laden en opslaan van alle werkmaponderdelen, inclusief werkbladen, stijlen, gedefinieerde namen, documenteigenschappen en autofilters.


Laden en opslaan van XLSX-bestanden

Gebruik de Workbook-klasse voor alle laad- en opslagbewerkingen. Intern verwerkt XlsxWorkbookSerializer de Open XML-verpakking:

#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;
}

Documenteigenschappen

XLSX-bestanden bevatten kern- en uitgebreide documenteigenschappen (titel, auteur, aanmaakdatum). Deze worden beheerd door XlsxDocumentProperties, die de docProps/core.xml- en docProps/app.xml-onderdelen bouwt en laadt:

PartBeheerd doorContains
docProps/core.xmlXlsxDocumentProperties::BuildCorePropertiesDocumentTitel, auteur, aangemaakt, gewijzigd
docProps/app.xmlXlsxDocumentProperties::BuildExtendedPropertiesDocumentApplicatienaam, versie

Werkmap-metadata en -instellingen

Werkboekmetadata op werkboekniveau — berekeningsinstellingen, weergaven van het boek en werkboekbeveiliging — wordt beheerd door XlsxWorkbookProperties:

  • BuildWorkbookPropertiesElement — schrijft werkboekberekenings- en iteratie-instellingen
  • BuildWorkbookProtectionElement — schrijft wachtwoordbeveiliging op werkboekniveau
  • BuildBookViewsElement — schrijft vensterpositie- en actieve bladinstellingen

Stijlen en getalnotaties

Het stijlgedeelte (xl/styles.xml) wordt beheerd door XlsxWorkbookStyles. Het zet Style objecten uit het in-memory-model om naar geserialiseerde lettertype-, opvul-, rand- en getalnotatie-records:

  • BuildStylesheet — serialiseert alle stijlen naar XML
  • LoadStylesheet — leest stijlen uit een bestaand XLSX-bestand
  • StylesEqual — controleert of twee stijlobjecten identieke XML zouden opleveren

Auto-filterverpakking

De auto-filterstatus per werkblad wordt geserialiseerd door XlsxWorkbookAutoFilter:

  • BuildAutoFilterElement — schrijft het <autoFilter> XML element
  • LoadAutoFilter — leest de auto-filterconfiguratie uit een werkbladonderdeel

Gedefinieerde namen

Benoemde bereiken en formules worden verpakt in het werkboekonderdeel en geladen door XlsxWorkbookDefinedNames:

  • BuildDefinedNames — schrijft alle DefinedName vermeldingen naar het werkboek XML
  • LoadWorkbookDefinedNames — leest gedefinieerde namen tijdens het laden van het bestand

Tips en best practices

  • Gebruik Workbook::Save(fileName) als het enige exitpunt — roep serializerklassen niet direct aan, tenzij je de bibliotheek uitbreidt.
  • Het .xlsx-formaat is het enige volledig ondersteunde formaat; opslaan naar andere formaten is niet beschikbaar in v0.1.
  • Bestandspaden die aan Workbook(filePath) of Save(filePath) worden doorgegeven, moeten de platform-padseparator gebruiken en volledig gekwalificeerd zijn wanneer ze worden uitgevoerd in omgevingen waarin de werkmap kan variëren.
  • Werkboekbeveiliging toegepast via XlsxWorkbookProperties::BuildWorkbookProtectionElement staat los van de werkbladniveau-beveiliging die is ingesteld via Worksheet::Protect.

Veelvoorkomende problemen

ProbleemOorzaakOplossing
Bestand kan niet worden geladenOngeldig of versleuteld XLSXZorg ervoor dat het bestand een gewone (niet met wachtwoord beveiligde) XLSX is
Stijlen verloren na opslaanStijl niet toegepast vóór opslaanRoep Cell::SetStyle(style) aan vóór Workbook::Save
Gedefinieerde namen ontbreken na round-tripScope ingesteld op verkeerd bladGebruik DefinedName::SetFormula met volledig bereikadres

API Reference Samenvatting

Klasse/MethodeBeschrijving
Workbook(filePath)Laad een XLSX-bestand
Workbook::Save(fileName)Opslaan naar XLSX
XlsxWorkbookSerializer::SaveIntern: serialiseert model naar Open XML
XlsxWorkbookSerializer::LoadIntern: deserialiseert Open XML naar model
XlsxDocumentPropertiesKern- en uitgebreide documenteigenschapverpakking
XlsxWorkbookPropertiesWerkboekmetadata en instellingenserialisatie
XlsxWorkbookStylesStyle sheet-verpakking
XlsxWorkbookAutoFilterAuto-filter XML verpakking
XlsxWorkbookDefinedNamesGedefinieerde naam XML verpakking

Zie ook

 Nederlands