Lavorare con la gestione dei fogli di calcolo

Lavorare con la gestione dei fogli di calcolo

Lavorare con la gestione dei fogli di calcolo

La classe Workbook è il punto di ingresso per tutte le operazioni sui fogli di calcolo in Aspose.Cells FOSS per C++. Fornisce metodi per creare nuovi workbook, caricare file XLSX esistenti, gestire i worksheet e salvare il risultato.


Creare un nuovo workbook

Istanziare Workbook per creare un workbook vuoto. Un worksheet predefinito viene creato automaticamente.

#include "aspose/cells_foss/Workbook.h"
#include "aspose/cells_foss/Worksheet.h"

using namespace Aspose::Cells_FOSS;

int main() {
    Workbook workbook;
    Worksheet& sheet = workbook.GetWorksheets()[0];
    sheet.SetName("Summary");
    workbook.Save("output.xlsx");
    return 0;
}

Caricare un workbook esistente

Passare un percorso file al costruttore Workbook per caricare un file XLSX esistente. Dopo il caricamento, i worksheet e i dati delle celle sono immediatamente accessibili.

Workbook workbook("existing.xlsx");
Worksheet& sheet = workbook.GetWorksheets()[0];
// Access or modify cells here
workbook.Save("modified.xlsx");

Configurare le proprietà del worksheet

La classe Worksheet espone le proprietà di visualizzazione e protezione. Usa queste per configurare la visibilità del foglio, la visualizzazione della griglia, lo zoom e il colore della scheda.

Worksheet& sheet = workbook.GetWorksheets()[0];
sheet.SetName("Data");
sheet.SetShowGridlines(false);
sheet.SetShowRowColumnHeaders(true);
sheet.SetZoom(80);

Proteggere e rimuovere la protezione di un foglio di lavoro

Chiama Worksheet::Protect per bloccare un foglio contro le modifiche e Worksheet::Unprotect per rimuovere la protezione:

sheet.Protect("password");
// ... distribute the workbook ...
sheet.Unprotect("password");

Garantire l’unicità del foglio e l’ambito dei nomi definiti

Quando aggiungi più fogli di lavoro programmaticamente, usa Workbook::EnsureUniqueSheetName per evitare collisioni di nomi. Usa Workbook::EnsureValidDefinedNameScope per convalidare che i nomi definiti siano correttamente in ambito.

workbook.EnsureUniqueSheetName();
workbook.EnsureUniqueDefinedName();

Salvataggio di una cartella di lavoro

Chiama Workbook::Save(fileName) per scrivere la cartella di lavoro su disco. Diverse overload accettano un nome file, uno stream o un SaveFormat esplicito.

workbook.Save("products.xlsx");

Suggerimenti e migliori pratiche

  • Chiama sempre Workbook::Dispose() quando hai finito con una cartella di lavoro per rilasciare le risorse non gestite.
  • I nomi dei fogli di lavoro devono essere univoci all’interno di una cartella di lavoro — usa EnsureUniqueSheetName dopo aggiunte in batch.
  • Imposta Worksheet::SetShowGridlines(false) per i fogli in stile presentazione per migliorare la leggibilità.
  • Usa Worksheet::SetZoom(value) per impostare un livello di zoom predefinito (percentuale) per le visualizzazioni dei fogli di lavoro.
  • I colori delle schede assegnati tramite Worksheet::SetTabColor aiutano gli utenti a distinguere visivamente i fogli di lavoro.

Problemi comuni

ProblemaCausaCorrezione
File non trovato durante il caricamentoPercorso erratoUsa un percorso assoluto o verifica la directory di lavoro
Collisione del nome del foglioNomi duplicati quando si aggiungono fogliChiama EnsureUniqueSheetName() dopo ogni aggiunta
Modifiche al workbook non salvateSave non chiamatoChiama sempre workbook.Save(path) prima dell’uscita
Avvisi di perdita di memoriaDispose non chiamatoChiama workbook.Dispose() alla fine dell’ambito

API Reference Riepilogo

Classe/MetodoDescrizione
Workbook()Crea un nuovo workbook vuoto
Workbook(filePath)Carica un file XLSX esistente
Workbook::Save(fileName)Salva il workbook su disco
Workbook::EnsureUniqueSheetName()Risolvi i nomi dei fogli duplicati
Workbook::Dispose()Rilascia le risorse
Worksheet::SetName(name)Rinomina il foglio di lavoro
Worksheet::SetShowGridlines(bool)Attiva/disattiva la visibilità delle linee della griglia
Worksheet::SetZoom(percent)Imposta la percentuale di zoom predefinita
Worksheet::Protect(password)Blocca il foglio di lavoro
Worksheet::Unprotect(password)Sblocca il foglio di lavoro

Vedi anche

 Italiano