
Se hai mai avuto bisogno di caricare dati da fogli di calcolo in un'applicazione web, creare un'API REST o migrare dati in un database NoSQL, probabilmente hai incontrato un problema comune: Excel non offre un modo integrato per salvare i dati come JSON.
Fortunatamente, ci sono diversi modi per esportare Excel in JSON, da convertitori online veloci a soluzioni programmatiche in Python. Il metodo migliore dipende dalle dimensioni del file, dai requisiti di sicurezza e dalla necessità di preservare strutture di cartelle di lavoro come più fogli di lavoro o risultati di formule.
In questa guida, confronteremo gli approcci più pratici e ti aiuteremo a scegliere la soluzione giusta per il tuo scenario.
Navigazione rapida
- Perché esportare Excel in JSON?
- Come appaiono i dati di Excel in JSON?
- Metodo 1: Esportare Excel in JSON Online
- Metodo 2: Esportare Excel in JSON in Python con Pandas
- Metodo 3: Esportare Excel in JSON in Python con Spire.XLS
- Sfide comuni nella conversione da Excel a JSON
- Quale metodo dovresti scegliere?
- FAQ
Perché esportare Excel in JSON?
Excel è lo strumento più utilizzato per archiviare dati strutturati, ma le applicazioni moderne comunicano in JSON. La conversione tra questi formati è essenziale ogni volta che i dati di un foglio di calcolo devono essere trasferiti in un contesto web.
I casi d'uso comuni includono:
- Invio di dati da fogli di calcolo ad applicazioni web
- Importazione di dati in API REST
- Lavoro con framework JavaScript come React, Vue o Angular
- Migrazione di dati in database NoSQL come MongoDB
- Scambio di dati tra sistemi in pipeline di integrazione
Excel non ha un'opzione nativa "Salva come JSON", quindi è necessario uno strumento o una libreria esterna per colmare questa lacuna.
Come appaiono i dati di Excel in JSON?
Le righe di Excel vengono tipicamente convertite in oggetti JSON, mentre le intestazioni delle colonne diventano chiavi degli oggetti.
Dati di Excel:

Output JSON:
[
{"ID": 1, "Name": "Alice", "Department": "HR"},
{"ID": 2, "Name": "Bob", "Department": "Engineering"}
]
Ogni riga diventa un oggetto JSON, ogni intestazione di colonna diventa una chiave e l'intero foglio di lavoro diventa un array. Sia i file XLS che XLSX seguono lo stesso schema di mappatura.
Metodo 1: Esportare Excel in JSON Online
I convertitori online da Excel a JSON offrono la soluzione più rapida per conversioni una tantum senza richiedere installazione di software o conoscenze di programmazione.
Passaggi per convertire Excel in JSON Online
-
Carica il file Excel: Seleziona il tuo file .xlsx o .xls dallo spazio di archiviazione locale. La maggior parte delle piattaforme supporta il trascinamento.
-
Configura le opzioni: Specifica se includere le intestazioni, selezionare fogli di lavoro specifici o personalizzare il formato di output.
-
Converti e scarica: Il server elabora il tuo file e genera l'output JSON. Recupera il file convertito o copia il risultato.
Convertitori online consigliati da Excel a JSON
Strumenti diversi eccellono in scenari diversi:
| Strumento | Ideale per | Limite dimensione file | Funzionalità speciali |
|---|---|---|---|
| TableConvert | Strutture JSON basate su tabelle | 10MB | Formattazione JSON personalizzata, oggetti annidati |
| Data Formatter Pro | Conversione rapida nel browser | 5MB | Conversione lato browser, nessun caricamento richiesto |
| JSON Editor Online | Modifica visiva dopo la conversione | 5MB | Validatore e formattatore JSON integrati |
Vantaggi e limitazioni
Vantaggi:
- Nessuna installazione richiesta — accesso da qualsiasi browser
- Veloce per file di piccole dimensioni inferiori a 5 MB
- Facile da usare con interfacce grafiche
Limitazioni:
- Limiti di dimensione del file: La maggior parte dei convertitori gratuiti limita i caricamenti a 5-10 MB
- Preoccupazioni sulla privacy: Il caricamento di dati aziendali su server esterni introduce rischi di conformità
- Gestione delle formule: I convertitori online esportano i risultati delle formule come valori statici
- Fogli di lavoro multipli: Molti strumenti esportano solo il foglio di lavoro attivo o perdono la struttura del foglio
I convertitori online funzionano bene per conversioni rapide e non sensibili. Per qualsiasi cosa che coinvolga file di grandi dimensioni, dati riservati o cartelle di lavoro complesse, è necessaria una soluzione programmatica.
Metodo 2: Esportare Excel in JSON in Python con Pandas
Pandas è la libreria di analisi dati più popolare di Python, che offre una conversione diretta da Excel a JSON tramite la sua API DataFrame. Questo metodo è adatto a data scientist e analisti che utilizzano già Pandas per la manipolazione dei dati.
Installa Pandas e le dipendenze
pip install pandas openpyxl
Per i file .xls legacy, installa anche xlrd:
pip install xlrd
Leggi Excel ed esporta JSON
import pandas as pd
# Carica il file Excel in un DataFrame
df = pd.read_excel("sales_report.xlsx")
# Esporta il DataFrame in JSON
df.to_json(
"sales_report.json",
orient="records",
indent=4
)
print("Dati Excel esportati in JSON con successo")
Di seguito è riportato un esempio del foglio di lavoro Excel e dell'output JSON:

Parametri chiave:
-
orient="records": Struttura l'output come un array di oggetti (formato più comune) -
indent=4: Formatta il JSON con un'indentazione di 4 spazi
Comprensione delle opzioni di output JSON
Pandas offre diverse orientazioni di output tramite il parametro orient:
orient="records" (Consigliato per le API):
[
{"ID": 1, "Name": "Alice", "Department": "HR"},
{"ID": 2, "Name": "Bob", "Department": "Engineering"}
]
orient="index":
{
"0": {"ID": 1, "Name": "Alice", "Department": "HR"},
"1": {"ID": 2, "Name": "Bob", "Department": "Engineering"}
}
orient="split":
{
"columns": ["ID", "Name", "Department"],
"index": [0, 1],
"data": [[1, "Alice", "HR"], [2, "Bob", "Engineering"]]
}
L'orientamento records è il formato più compatibile per le API REST e le applicazioni JavaScript.
Gestione di fogli di lavoro specifici
import pandas as pd
# Leggi un foglio di lavoro specifico per nome
df = pd.read_excel("workbook.xlsx", sheet_name="Q4_Sales")
# Leggi un foglio di lavoro specifico per indice (basato su 0)
df = pd.read_excel("workbook.xlsx", sheet_name=0)
df.to_json("q4_sales.json", orient="records", indent=4)
Pandas eccelle nell'analisi dei dati in cui è necessario filtrare, aggregare o trasformare i dati prima dell'esportazione. Tuttavia, carica interi file in memoria e non può preservare la logica delle formule, rendendolo meno adatto per file di grandi dimensioni o scenari aziendali.
La conversione da Excel a JSON è spesso solo un passaggio in un flusso di lavoro di dati. Se hai bisogno di importare dati JSON nuovamente nei fogli di calcolo, consulta il nostro tutorial su come convertire JSON in Excel per una soluzione completa di scambio dati bidirezionale.
Metodo 3: Esportare Excel in JSON in Python con Spire.XLS
Spire.XLS for Python offre una libreria professionale per l'elaborazione di Excel progettata per scenari in cui Pandas non è sufficiente. Gestisce strutture di cartelle di lavoro complesse, preserva i calcoli delle formule ed elabora file di grandi dimensioni in modo efficiente senza caricare interi set di dati in memoria.
Installa Spire.XLS per Python
pip install Spire.XLS
Esporta dati di Excel in JSON
from spire.xls import Workbook
import json
# Crea un'istanza della cartella di lavoro
workbook = Workbook()
workbook.LoadFromFile("sales_data.xlsx")
# Ottieni il primo foglio di lavoro
sheet = workbook.Worksheets[0]
# Estrai i dati in un formato strutturato
data = []
headers = []
# Leggi le intestazioni dalla prima riga
for col in range(sheet.AllocatedRange.Columns.Count):
cell = sheet.AllocatedRange.Rows[0].Cells[col]
headers.append(cell.Value)
# Leggi le righe di dati
for row_idx in range(1, sheet.AllocatedRange.Rows.Count):
row_data = {}
row = sheet.AllocatedRange.Rows[row_idx]
for col_idx in range(len(headers)):
cell = row.Cells[col_idx]
row_data[headers[col_idx]] = cell.Value
data.append(row_data)
# Esporta in un file JSON
with open("sales_data.json", "w", encoding="utf-8") as f:
json.dump(data, f, indent=4, ensure_ascii=False)
print(f"Esportati {len(data)} record in JSON")
workbook.Dispose()
Il risultato della conversione è mostrato di seguito:

Punti chiave
-
Carica Cartella di lavoro: Usa
Workbook.LoadFromFile()per caricare il file Excel in memoria. Questo metodo supporta entrambi i formati XLS e XLSX. -
Accedi al Foglio di lavoro: Recupera un foglio di lavoro specifico utilizzando
workbook.Worksheets[index], dove l'indice 0 si riferisce al primo foglio. -
Estrai Intestazioni: Itera sulla prima riga dell'intervallo allocato (
sheet.AllocatedRange.Rows[0]) per raccogliere le intestazioni delle colonne, che serviranno come chiavi degli oggetti JSON. -
Leggi Righe di Dati: Cicla sulle righe rimanenti (a partire dall'indice 1) ed estrai i valori delle celle. Per ogni riga, crea un dizionario che mappa le intestazioni ai valori delle celle.
-
Esporta in JSON: Utilizza la funzione integrata
json.dump()di Python per scrivere la struttura dati in un file JSON con formattazione corretta (indent=4) e supporto Unicode (ensure_ascii=False).
JSON non è l'unico formato utilizzato per lo scambio di dati. Se hai bisogno di un formato tabulare più semplice per report o integrazione di sistemi, consulta la nostra guida su come convertire Excel in CSV in Python.
Esporta più fogli di lavoro in JSON
Uno dei principali vantaggi di Spire.XLS è la gestione di cartelle di lavoro multi-foglio preservando la struttura:
from spire.xls import Workbook
import json
workbook = Workbook()
workbook.LoadFromFile("quarterly_reports.xlsx")
workbook_data = {}
for sheet_index in range(workbook.Worksheets.Count):
sheet = workbook.Worksheets[sheet_index]
sheet_name = sheet.Name
sheet_data = []
headers = []
last_row = sheet.LastRow
last_col = sheet.LastColumn
if last_row > 0 and last_col > 0:
# Leggi le intestazioni
for col in range(1, last_col + 1):
cell_value = sheet.Range[1, col].Value
headers.append(cell_value if cell_value else f"Column{col}")
# Leggi le righe di dati
for row in range(2, last_row + 1):
row_data = {}
has_data = False
for col in range(1, last_col + 1):
cell = sheet.Range[row, col]
value = cell.Value
# Gestisci le celle con formule - esporta i risultati calcolati
if cell.HasFormula:
value = cell.FormulaValue
row_data[headers[col - 1]] = value
if value is not None and str(value).strip():
has_data = True
if has_data:
sheet_data.append(row_data)
workbook_data[sheet_name] = sheet_data
print(f"Elaborato: {sheet_name} ({len(sheet_data)} righe)")
with open("quarterly_reports.json", "w", encoding="utf-8") as f:
json.dump(workbook_data, f, indent=4, ensure_ascii=False)
print(f"Esportati {workbook.Worksheets.Count} fogli di lavoro in JSON")
workbook.Dispose()
Struttura di output:
{
"Q1_Sales": [
{"Product": "Widget A", "Revenue": 15000, "Units": 500},
{"Product": "Widget B", "Revenue": 22000, "Units": 730}
],
"Q2_Sales": [
{"Product": "Widget A", "Revenue": 18000, "Units": 600},
{"Product": "Widget B", "Revenue": 25000, "Units": 830}
]
}
Vantaggi dell'utilizzo di Spire.XLS
- Preserva la struttura della cartella di lavoro: Mantieni l'organizzazione dei fogli di lavoro nell'output JSON
- Gestisce correttamente le formule: Esporta i valori calcolati dalle celle con formule
- Elaborazione efficiente della memoria: Gestisce cartelle di lavoro di grandi dimensioni senza caricare interi file in memoria
- Nessuna dipendenza da Excel: Elabora file senza richiedere l'installazione di Microsoft Excel
- Multipiattaforma: Esegui su Windows, Linux e macOS
Confronto Pandas vs Spire.XLS
| Funzionalità | Pandas | Spire.XLS |
|---|---|---|
| Open Source | ✓ | ✗ |
| Analisi Dati | ✓ | ✓ |
| Risultati Formule | Limitato | ✓ |
| Fogli di lavoro multipli | Base | ✓ |
| Automazione Aziendale | Limitato | ✓ |
| Efficienza della Memoria | Moderata | ✓ |
| Supporto File di grandi dimensioni | Limitato | ✓ |
Per i sistemi che richiedono uno scambio di dati gerarchico o basato su schema, puoi anche imparare come convertire Excel in XML in Python.
Sfide comuni nella conversione da Excel a JSON
Fogli di lavoro multipli
Le cartelle di lavoro spesso contengono più fogli di lavoro correlati. Esportare tutti i fogli come un singolo array piatto perde la struttura organizzativa. Utilizza una libreria come Spire.XLS per preservare i nomi dei fogli di lavoro come chiavi di primo livello nel tuo output JSON.
Celle con formule
Le formule di Excel calcolano i valori dinamicamente. Quando si esporta in JSON, di solito si desidera il risultato calcolato, non la stringa della formula. Spire.XLS fornisce la proprietà FormulaValue per esportare i valori calcolati, mentre Pandas legge i valori visualizzati per impostazione predefinita.
Formattazione delle date
Excel memorizza le date come date seriali numeriche. Senza una gestione esplicita, le date potrebbero essere esportate come numeri senza senso come 45662 invece di "2026-05-01". Converti le colonne di date in stringhe ISO 8601 per la compatibilità JSON.
Celle vuote e valori null
Le celle vuote possono essere rappresentate come null, omesse del tutto o esportate come stringhe vuote. Utilizza null per i valori mancanti e stringhe vuote per le celle esplicitamente vuote per preservare l'intento dei dati.
Quale metodo dovresti scegliere?
| Scenario | Metodo consigliato | Motivazione |
|---|---|---|
| Conversione rapida una tantum | Convertitore online | Nessuna configurazione, più veloce per uso occasionale |
| Flussi di lavoro di analisi dati | Pandas | Si integra con le pipeline di analisi |
| Cartelle di lavoro complesse con più fogli | Spire.XLS | Preserva la struttura, gestisce le formule |
| File di grandi dimensioni (>100 MB) | Spire.XLS | Elaborazione efficiente della memoria |
| Dati sensibili/riservati | Spire.XLS (locale) | Nessuna trasmissione a server esterni |
FAQ
Excel può salvare direttamente come JSON?
No. La finestra di dialogo Salva con nome di Excel supporta XLSX, XLS, CSV, PDF e XML, ma non JSON. È necessario un convertitore online, una libreria Python o uno script personalizzato per esportare i dati di Excel in JSON.
Come esporto i dati di Excel in un file JSON?
Scegli il tuo strumento, carica il file Excel, estrai i dati del foglio di lavoro, trasforma le righe in oggetti JSON con le intestazioni delle colonne come chiavi e scrivi l'output in un file .json.
Con Pandas:
import pandas as pd
df = pd.read_excel("data.xlsx")
df.to_json("data.json", orient="records", indent=4)
Qual è la migliore libreria Python per convertire Excel in JSON?
- Pandas: Ideale per flussi di lavoro di analisi dati con potenti trasformazioni, ma carica interi file in memoria e non può preservare le formule.
- Spire.XLS: Ideale per scenari aziendali con file di grandi dimensioni, fogli di lavoro multipli e gestione delle formule.
Come posso esportare più fogli di lavoro in JSON?
Utilizza Spire.XLS per iterare sui fogli di lavoro e organizzarli in un dizionario con i nomi dei fogli come chiavi:
from spire.xls import Workbook
import json
workbook = Workbook()
workbook.LoadFromFile("multi_sheet.xlsx")
result = {}
for sheet in workbook.Worksheets:
sheet_data = [] # Estrai i dati del foglio
# ... logica di estrazione ...
result[sheet.Name] = sheet_data
with open("output.json", "w") as f:
json.dump(result, f, indent=4)
Le formule possono essere preservate durante la conversione da Excel a JSON?
Le formule stesse non possono essere preservate in JSON poiché JSON è un formato di dati statico. Tuttavia, puoi esportare i risultati calcolati delle formule. Utilizza la proprietà FormulaValue di Spire.XLS per ottenere i valori calcolati invece delle stringhe delle formule.
Come gestire file Excel di grandi dimensioni durante l'esportazione in JSON?
Evita Pandas per file di grandi dimensioni: carica tutto in memoria. Utilizza Spire.XLS per un accesso cella per cella efficiente in termini di memoria. Per set di dati molto grandi, considera il formato JSON delimitato da righe (JSONL), in cui ogni riga è un oggetto JSON separato, consentendo l'elaborazione in streaming.
Conclusione
Esportare Excel in JSON colma il divario tra i dati dei fogli di calcolo e le applicazioni moderne. Per conversioni rapide, gli strumenti online fanno il lavoro senza alcuna configurazione. Quando hai bisogno di capacità di analisi dati, Pandas offre potenti trasformazioni. Per scenari aziendali con file di grandi dimensioni, fogli di lavoro multipli o gestione delle formule, Spire.XLS offre il controllo e la precisione di cui hai bisogno. Scegli in base alle dimensioni del tuo file, alla complessità e ai requisiti del flusso di lavoro.
Letture aggiuntive: