Indice
Installazione tramite NuGet
PM> Install-Package Spire.XLS
Link correlati
La scrittura efficiente di file Excel è essenziale nei flussi di lavoro basati su Python per l'analisi dei dati, il reporting e l'automazione. Tra le molte librerie disponibili, Spire.XLS for Python si distingue come una soluzione potente e indipendente da Excel che supporta funzionalità complesse come grafici, formule, formattazione condizionale, crittografia e gestione di grandi set di dati.
Questa guida mostrerà come scrivere file XLSX con Python utilizzando Spire.XLS for Python, coprendo i dettagli dalla scrittura di base alla formattazione avanzata, il tutto utilizzando una libreria Excel affidabile e pronta per l'uso aziendale.

- Come scrivere file XLSX con Spire.XLS for Python
- Scrivere diversi tipi di dati in file XLSX utilizzando Python
- Applicare formattazione e stili alle celle di Excel con Python
Come scrivere file XLSX con Spire.XLS for Python
Perché usare Spire.XLS for Python?
Spire.XLS for Python è una libreria ricca di funzionalità che consente agli sviluppatori di leggere, scrivere e manipolare file Excel senza bisogno di Microsoft Office. È costruita per garantire prestazioni e flessibilità, rendendola ideale per attività di automazione e reporting su larga scala.
Vantaggi principali:
- API All-in-One: Lettura/scrittura di .xls e .xlsx, formattazione di celle, inserimento di formule, conversione di file e altro ancora.
- Supporto multipiattaforma: Disponibile per .NET, Java, Python e compatibile con ambienti basati su cloud.
- Funzionalità avanzate di Excel: Supporta grafici, tabelle pivot, formattazione condizionale e protezione.
- Documentazione e supporto affidabili: Riferimenti API estesi, tutorial, forum per sviluppatori e team di supporto.
- Edizione gratuita disponibile: Ideale per l'elaborazione leggera di file Excel senza costi di licenza.
Installazione di Spire.XLS for Python
È possibile installare la versione completa o la versione gratuita di Spire.XLS a seconda delle proprie esigenze.
Versione completa:
pip install spire.xls
Versione gratuita (per file più piccoli e casi d'uso di base):
pip install spire.xls.free
Passaggi di base per la scrittura di file XLSX
Per scrivere su file Excel utilizzando Python, segui questi passaggi fondamentali:
- Crea una nuova cartella di lavoro Excel tramite il costruttore Workbook().
- Carica un file XLSX esistente (opzionale) con il metodo Workbook.LoadFromFile().
- Aggiungi o ottieni un foglio di lavoro utilizzando il metodo Workbook.Worksheets.Add() o il metodo get_Item().
- Accedi alle celle tramite il metodo Worksheet.Range.get_Item().
- Scrivi i dati utilizzando le proprietà della classe CellRange, come Value, Text, NumberValue, ecc.
- Salva la cartella di lavoro utilizzando il metodo Workbook.SaveToFile().
Esempio di codice per la scrittura di base di un file XLSX
- Python
from spire.xls import Workbook, ExcelVersion
# Crea un oggetto Workbook
workbook = Workbook()
# Ottieni il primo foglio di lavoro predefinito
sheet = workbook.Worksheets.get_Item(0)
# Scrivi una stringa nella cella B2
sheet.Range.get_Item(2, 2).Text = "Ciao mondo!"
# Salva la cartella di lavoro
workbook.SaveToFile("output/BasicWorkbook.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Il file XLSX di output:

Scrivere diversi tipi di dati in file XLSX utilizzando Python
Spire.XLS offre una serie di proprietà nella classe CellRange che supportano la scrittura di vari tipi di dati direttamente nelle celle di Excel, come stringhe, valori di data e ora, valori booleani e valori numerici. Ciò rende facile per gli sviluppatori scrivere valori tipizzati direttamente nelle celle di un file XLSX.
Tipi di dati supportati e loro proprietà
| Proprietà | Tipo di valore | Funzione |
| NumberValue | float | Imposta un valore numerico |
| Text | str | Imposta testo semplice |
| DateTimeValue | datetime | Imposta una data e un'ora |
| BooleanValue | bool | Imposta un valore booleano |
| Formula | str | Inserisce una formula |
| HtmlString | str | Inserisce testo formattato in HTML |
| Value | str | Imposta un valore generico |
Esempio di codice – Scrittura di vari tipi di dati
- Python
from spire.xls import Workbook, ExcelVersion, DateTime, HorizontalAlignType, Stream, ImageFormatType
# Crea un oggetto Workbook
workbook = Workbook()
# Ottieni il primo foglio di lavoro predefinito
sheet = workbook.Worksheets.get_Item(0)
# Scrivi testo nella cella B1
sheet.Range.get_Item(1, 2).Text = "Testo semplice"
# Scrivi un numero nella cella B2
sheet.Range.get_Item(2, 2).NumberValue = 123456
sheet.Range.get_Item(2, 2).NumberFormat = "#,##0.00"
# Scrivi una data nella cella B3
sheet.Range.get_Item(3, 2).DateTimeValue = DateTime.get_UtcNow()
# Scrivi un valore booleano nella cella B4
sheet.Range.get_Item(4, 2).BooleanValue = True
# Scrivi una formula nella cella B5
sheet.Range.get_Item(5, 2).Formula = "B2/2"
# Scrivi una stringa HTML nella cella B6
sheet.Range.get_Item(6, 2).HtmlString = "<p><span style='color: blue; font-size: 18px;'>Carattere blu dimensione 18 pixel</span></p>"
# Scrivi un valore normale nella cella B7
sheet.Range.get_Item(7, 2).Value = "Valore normale"
# Inserisci un'immagine nella cella B8
with open("Logo.png", "rb") as f:
imageBytes = f.read()
stream = Stream(imageBytes)
sheet.Pictures.Add(8, 2, stream, ImageFormatType.Png)
# Imposta la formattazione di base
sheet.Range.get_Item(1, 2, 8, 2).HorizontalAlignment = HorizontalAlignType.Left
sheet.AutoFitColumn(2)
for i in range(sheet.Range.Columns.Count):
for j in range(sheet.Range.Rows.Count):
sheet.Range.get_Item(j + 1, i + 1).HorizontalAlignment = HorizontalAlignType.Left
# Salva la cartella di lavoro in un file XLSX
workbook.SaveToFile("output/WriteDataExcelCell.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Il file XLSX di output:

Applicare formattazione e stili alle celle di Excel con Python
La formattazione gioca un ruolo chiave nel rendere i report di Excel chiari e professionali. Con Spire.XLS for Python, è possibile personalizzare l'aspetto delle celle utilizzando caratteri, colori, allineamento, formati numerici e stili predefiniti. Questi strumenti aiutano a migliorare la leggibilità e a presentare i dati in modo raffinato e coerente, ideale per il reporting e l'automazione.
L'esempio di codice seguente mostra come formattare i fogli di lavoro utilizzando Python.
Formattare le celle con carattere, colore, bordo e allineamento
- Python
from spire.xls import Workbook, Color, LineStyleType, BordersLineType, HorizontalAlignType
# Crea un oggetto Workbook
workbook = Workbook()
# Carica il file XLSX
workbook.LoadFromFile("Sample.xlsx")
# Ottieni il primo foglio di lavoro
sheet = workbook.Worksheets.get_Item(0)
# Imposta gli stili del carattere
# Riga di intestazione
sheet.Rows.get_Item(0).Style.Font.FontName = "Times New Roman"
sheet.Rows.get_Item(0).Style.Font.Size = 14
sheet.Rows.get_Item(0).Style.Font.IsBold = True
# Righe di dati
for i in range(1, sheet.Rows.Count):
sheet.Rows.get_Item(i).Style.Font.FontName = "Arial"
sheet.Rows.get_Item(i).Style.Font.Size = 12
# Imposta i colori delle celle
# Riga di intestazione
sheet.Rows.get_Item(0).Style.Color = Color.FromRgb(200, 245, 230)
# Righe di dati
for i in range(1, sheet.Rows.Count):
sheet.Rows.get_Item(i).Style.Color = Color.FromRgb(240, 255, 250)
# Imposta gli stili dei bordi
# Riga di intestazione
sheet.Rows.get_Item(0).Style.Borders.get_Item(BordersLineType.EdgeBottom).LineStyle = LineStyleType.Thick
sheet.Rows.get_Item(0).Style.Borders.get_Item(BordersLineType.EdgeBottom).Color = Color.get_White()
# Righe di dati
for i in range(1, sheet.Rows.Count):
sheet.Rows.get_Item(i).BorderInside(LineStyleType.Thin, Color.get_Black())
# Imposta l'allineamento
# Riga di intestazione
sheet.Rows.get_Item(0).Style.HorizontalAlignment = HorizontalAlignType.Center
# Righe di dati
for i in range(1, sheet.Rows.Count):
sheet.Rows.get_Item(i).Style.HorizontalAlignment = HorizontalAlignType.Left
# Adatta automaticamente la larghezza della colonna
for i in range(sheet.Columns.Count):
sheet.AutoFitColumn(i + 1)
# Salva il file Excel
workbook.SaveToFile("output/FormatXLSXFile.xlsx")
workbook.Dispose()
Il file XLSX di output:

Impostare i formati numerici per le celle
- Python
from spire.xls import Workbook, ExcelVersion
# Crea un'istanza di Workbook
workbook = Workbook()
# Ottieni il primo foglio di lavoro
sheet = workbook.Worksheets.get_Item(0)
# Formatta una cella come numero
sheet.Range.get_Item(1, 2).NumberValue = 1234567890
sheet.Range.get_Item(1, 2).NumberFormat = "[Red]#,##0;[Green]#,##0"
# Formatta una cella come data
sheet.Range.get_Item(2, 2).NumberValue = 45562
sheet.Range.get_Item(2, 2).NumberFormat = "yyyy-mm-dd"
# Formatta una cella come ora
sheet.Range.get_Item(3, 2).NumberValue = 45562
sheet.Range.get_Item(3, 2).NumberFormat = "hh:mm:ss"
# Formatta una cella come valuta
sheet.Range.get_Item(4, 2).NumberValue = 1234567890
sheet.Range.get_Item(4, 2).NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"
# Formatta una cella come percentuale
sheet.Range.get_Item(5, 2).NumberValue = 0.1234567890
sheet.Range.get_Item(5, 2).NumberFormat = "0.00%"
# Formatta una cella come frazione
sheet.Range.get_Item(6, 2).NumberValue = 0.1234567890
sheet.Range.get_Item(6, 2).NumberFormat = "0.00_ ?"
# Formatta una cella come numero scientifico
sheet.Range.get_Item(7, 2).NumberValue = 1234567890
sheet.Range.get_Item(7, 2).NumberFormat = "0.00E+00"
# Adatta automaticamente la larghezza della colonna
for i in range(sheet.Columns.Count):
sheet.AutoFitColumn(i + 1)
# Salva il file Excel
workbook.SaveToFile("output/SetNumberFormat.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Il file XLSX di output:

Applicare stili predefiniti alle celle
- Python
from spire.xls import Workbook, BuiltInStyles
# Crea un'istanza di Workbook
workbook = Workbook()
# Carica il file Excel
workbook.LoadFromFile("Sample.xlsx")
# Ottieni il primo foglio di lavoro
sheet = workbook.Worksheets.get_Item(0)
# Applica lo stile di intestazione predefinito alla prima riga
sheet.Rows.get_Item(0).BuiltInStyle = BuiltInStyles.Heading2
# Applica lo stile a piè di pagina predefinito alle righe di dati
for i in range(1, sheet.Rows.Count):
sheet.Rows.get_Item(i).BuiltInStyle = BuiltInStyles.Accent2_20
# Adatta automaticamente la larghezza della colonna
for i in range(sheet.Columns.Count):
sheet.AutoFitColumn(i + 1)
# Salva il file Excel
workbook.SaveToFile("output/ApplyBuiltInStyle.xlsx")
workbook.Dispose()
Il file XLSX di output:

Conclusione
In questa guida, abbiamo esplorato come scrivere file XLSX con Python utilizzando Spire.XLS, dalla scrittura di base alla formattazione. Che si tratti di generare report, automatizzare esportazioni o creare applicazioni basate sui dati, Spire.XLS for Python offre una soluzione affidabile ed efficiente per la generazione di file Excel.
Ottieni una licenza gratuita
Puoi richiedere una licenza di prova gratuita di 30 giorni per la versione completa di Spire.XLS for Python. Ciò ti consente di esplorare tutte le funzionalità avanzate senza limitazioni durante il periodo di prova.