Práce s balíčkem XLSX

Práce s balíčkem XLSX

Práce s balíčkem XLSX

Aspose.Cells FOSS pro C++ čte a zapisuje formát .xlsx Open XML prostřednictvím vyhrazené vrstvy serializace. Třída XlsxWorkbookSerializer řídí načítání a ukládání všech částí sešitu, včetně listů, stylů, definovaných názvů, vlastností dokumentu a automatických filtrů.


Načítání a ukládání souborů XLSX

Použijte třídu Workbook pro všechny operace načítání a ukládání. Interně XlsxWorkbookSerializer zpracovává balíčkování Open XML:

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

Vlastnosti dokumentu

Soubory XLSX obsahují základní a rozšířené vlastnosti dokumentu (název, autor, datum vytvoření). Tyto jsou spravovány pomocí XlsxDocumentProperties, který vytváří a načítá části docProps/core.xml a docProps/app.xml:

PartSpravovánoContains
docProps/core.xmlXlsxDocumentProperties::BuildCorePropertiesDocumentNázev, autor, vytvořeno, upraveno
docProps/app.xmlXlsxDocumentProperties::BuildExtendedPropertiesDocumentNázev aplikace, verze

Metadata a nastavení sešitu

Metadata na úrovni sešitu — nastavení výpočtů, zobrazení sešitu a ochrana sešitu — je spravováno XlsxWorkbookProperties:

  • BuildWorkbookPropertiesElement — zapisuje nastavení výpočtu a iterace sešitu
  • BuildWorkbookProtectionElement — zapisuje ochranu sešitu na úrovni hesla
  • BuildBookViewsElement — zapisuje nastavení pozice okna a aktivního listu

Styly a formáty čísel

Část stylů (xl/styles.xml) je spravována XlsxWorkbookStyles. Mapuje objekty Style z modelu v paměti na serializované záznamy písem, výplní, okrajů a formátů čísel:

  • BuildStylesheet — serializuje všechny styly do XML
  • LoadStylesheet — načítá styly z existujícího souboru XLSX
  • StylesEqual — kontroluje, zda dva objekty stylu vytvoří identický XML

Balení auto-filtru

Stav automatického filtru pro každý list je serializován pomocí XlsxWorkbookAutoFilter:

  • BuildAutoFilterElement — zapisuje prvek <autoFilter> XML
  • LoadAutoFilter — načítá konfiguraci automatického filtru z části listu

Definované názvy

Pojmenované oblasti a vzorce jsou zabaleny v části sešitu a načteny pomocí XlsxWorkbookDefinedNames:

  • BuildDefinedNames — zapisuje všechny DefinedName položky do sešitu XML
  • LoadWorkbookDefinedNames — čte definovaná jména během načítání souboru

Tipy a osvědčené postupy

  • Použijte Workbook::Save(fileName) jako jediný výstupní bod — nevolajte třídy serializátoru přímo, pokud nerozšiřujete knihovnu.
  • Formát .xlsx je jediný plně podporovaný formát; ukládání do jiných formátů není v verzi 0.1 k dispozici.
  • Cesty k souborům předávané do Workbook(filePath) nebo Save(filePath) musí používat oddělovač cest platformy a být plně kvalifikované při běhu v prostředích, kde se pracovní adresář může lišit.
  • Ochrana sešitu aplikovaná pomocí XlsxWorkbookProperties::BuildWorkbookProtectionElement je nezávislá na ochraně na úrovni listu nastavené přes Worksheet::Protect.

Časté problémy

ProblémPříčinaOprava
Soubor se nepodařilo načístNeplatný nebo šifrovaný XLSXUjistěte se, že soubor je prostý (nechráněný heslem) XLSX
Styly se po uložení ztratilyStyl nebyl aplikován před uloženímZavolejte Cell::SetStyle(style) před Workbook::Save
Definované názvy chybí po round-tripuRozsah nastaven na nesprávný listPoužijte DefinedName::SetFormula s úplnou adresou oblasti

API Reference Shrnutí

Třída/MetodaPopis:
Workbook(filePath)Načíst soubor XLSX
Workbook::Save(fileName)Uložit do XLSX
XlsxWorkbookSerializer::SaveInterní: serializuje model do Open XML
XlsxWorkbookSerializer::LoadInterní: deserializuje Open XML do modelu
XlsxDocumentPropertiesZákladní a rozšířené balíčkování vlastností dokumentu
XlsxWorkbookPropertiesSerializace metadat a nastavení sešitu
XlsxWorkbookStylesBalíčkování stylových listů
XlsxWorkbookAutoFilterBalíčkování automatického filtru XML
XlsxWorkbookDefinedNamesDefinovaný název XML balení

Viz také:

 Čeština