Lavorare con il packaging XLSX

Lavorare con il packaging XLSX

Lavorare con il packaging XLSX

Aspose.Cells FOSS per C++ legge e scrive il formato .xlsx Open XML tramite uno strato di serializzazione dedicato. La classe XlsxWorkbookSerializer orchestra il caricamento e il salvataggio di tutte le parti della cartella di lavoro, incluse fogli di lavoro, stili, nomi definiti, proprietà del documento e filtri automatici.


Caricamento e salvataggio dei file XLSX

Utilizza la classe Workbook per tutte le operazioni di caricamento e salvataggio. Internamente, XlsxWorkbookSerializer gestisce il packaging 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;
}

Proprietà del documento

I file XLSX contengono proprietà del documento di base ed estese (titolo, autore, data di creazione). Queste sono gestite da XlsxDocumentProperties, che costruisce e carica le parti docProps/core.xml e docProps/app.xml:

PartGestito daContains
docProps/core.xmlXlsxDocumentProperties::BuildCorePropertiesDocumentTitolo, autore, creato, modificato
docProps/app.xmlXlsxDocumentProperties::BuildExtendedPropertiesDocumentNome dell’applicazione, versione

Metadati e impostazioni della cartella di lavoro

I metadati a livello di cartella di lavoro — impostazioni di calcolo, visualizzazioni della cartella e protezione della cartella di lavoro — sono gestiti da XlsxWorkbookProperties:

  • BuildWorkbookPropertiesElement — scrive le impostazioni di calcolo e di iterazione della cartella di lavoro
  • BuildWorkbookProtectionElement — scrive la protezione con password a livello di cartella di lavoro
  • BuildBookViewsElement — scrive le impostazioni della posizione della finestra e del foglio attivo

Stili e Formati Numerici

La parte degli stili (xl/styles.xml) è gestita da XlsxWorkbookStyles. Mappa gli oggetti Style dal modello in memoria ai record serializzati di font, riempimento, bordo e formato numerico:

  • BuildStylesheet — serializza tutti gli stili in XML
  • LoadStylesheet — legge gli stili da un file XLSX esistente
  • StylesEqual — verifica se due oggetti di stile produrrebbero identici XML

Imballaggio Auto-Filtro

Lo stato del filtro automatico per foglio di lavoro è serializzato da XlsxWorkbookAutoFilter:

  • BuildAutoFilterElement — scrive l’elemento <autoFilter> XML
  • LoadAutoFilter — legge la configurazione del filtro automatico da una parte del foglio di lavoro

Nomi Definiti

Intervalli denominati e formule sono confezionati nella parte della cartella di lavoro e caricati da XlsxWorkbookDefinedNames:

  • BuildDefinedNames — scrive tutte le voci DefinedName nel XML della cartella di lavoro
  • LoadWorkbookDefinedNames — legge i nomi definiti durante il caricamento del file

Suggerimenti e migliori pratiche

  • Usa Workbook::Save(fileName) come unico punto di uscita — non invocare direttamente le classi serializer a meno di estendere la libreria.
  • Il formato .xlsx è l’unico formato pienamente supportato; il salvataggio in altri formati non è disponibile nella versione v0.1.
  • I percorsi file passati a Workbook(filePath) o Save(filePath) devono utilizzare il separatore di percorso della piattaforma e essere pienamente qualificati quando si esegue in ambienti in cui la directory di lavoro può variare.
  • La protezione della cartella di lavoro applicata tramite XlsxWorkbookProperties::BuildWorkbookProtectionElement è indipendente dalla protezione a livello di foglio impostata tramite Worksheet::Protect.

Problemi comuni

ProblemaCausaCorrezione
Il file non si caricaXLSX non valido o crittografatoAssicurati che il file sia un XLSX semplice (non protetto da password)
Stili persi dopo il salvataggioStile non applicato prima del salvataggioChiama Cell::SetStyle(style) prima di Workbook::Save
Nomi definiti mancanti dopo il round-tripAmbito impostato sul foglio sbagliatoUsa DefinedName::SetFormula con l’indirizzo completo dell’intervallo

API Reference Riepilogo

Classe/MetodoDescrizione
Workbook(filePath)Carica un file XLSX
Workbook::Save(fileName)Salva in XLSX
XlsxWorkbookSerializer::SaveInterno: serializza il modello in Open XML
XlsxWorkbookSerializer::LoadInterno: deserializza Open XML nel modello
XlsxDocumentPropertiesImballaggio delle proprietà del documento core ed estese
XlsxWorkbookPropertiesSerializzazione dei metadati e delle impostazioni della cartella di lavoro
XlsxWorkbookStylesImballaggio del foglio di stile
XlsxWorkbookAutoFilterImballaggio XML con auto-filtro
XlsxWorkbookDefinedNamesImballaggio XML con nome definito

Vedi anche

 Italiano