Come esportare Excel in JSON: strumenti online e Python

2026-06-08 06:09:30 zaki zou
AI Summarize:
ChatGPT
ChatGPT
Claude
Grok
Perplexity
Quick
Quick
Concise overview
Highlights
Key takeaways
Detailed
Structured explanation
Brief
One sentence summary
Summarize |

Come esportare Excel in JSON

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

  1. Perché esportare Excel in JSON?
  2. Come appaiono i dati di Excel in JSON?
  3. Metodo 1: Esportare Excel in JSON Online
  4. Metodo 2: Esportare Excel in JSON in Python con Pandas
  5. Metodo 3: Esportare Excel in JSON in Python con Spire.XLS
  6. Sfide comuni nella conversione da Excel a JSON
  7. Quale metodo dovresti scegliere?
  8. 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:

Esempio di 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

  1. Carica il file Excel: Seleziona il tuo file .xlsx o .xls dallo spazio di archiviazione locale. La maggior parte delle piattaforme supporta il trascinamento.

  2. Configura le opzioni: Specifica se includere le intestazioni, selezionare fogli di lavoro specifici o personalizzare il formato di output.

  3. 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:

Converti Excel in JSON con Pandas

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:

Converti Excel in JSON con Spire.XLS

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: