Cookie di statistica e di pubblicità
Usiamo cookie di statistica e di pubblicità, entrambi inviati a Google. Rifiutare non cambia niente di quello che vedi.Leggi la pagina sulla privacy
XLSX
Il formato di Excel dal 2007. Più fogli, formule e formattazione.
XLSX
XLSX è un contenitore: un involucro per flussi codificati da qualcos’altro. Si usa per la modifica.
L’estensione è .xlsx e il nome per esteso è Excel Workbook. Contano entrambi meno di ciò che il file può contenere, ed è di questo che parla il resto della pagina.
Microsoft lo ha pubblicato nel 2007. La specifica è ECMA-376.
L’età serve saperla per un motivo pratico: più un formato è vecchio, più programmi hanno avuto tempo di impararlo.
È pubblicata per intero, quindi la si può implementare partendo dal documento invece che per osservazione: è per questo che il formato compare in così tanti programmi, ed è per questo che file scritti vent’anni fa si aprono ancora. Una specifica pubblicata però non è la stessa cosa di una esente da royalty: dove un formato incapsula un codec, le licenze sui brevetti restano una questione a parte che lo standard non risolve.
Un file XLSX non è limitato a una pagina, e la cosa conta quando lo si converte in qualcosa che invece lo è: una conversione produce un solo file con dentro una sola pagina — la prima, a meno che non sia una di quelle che il convertitore ti lascia scegliere.
XLSX non può portare codice eseguibile. È per questo che i server di posta e i portali documentali lo lasciano passare dove fermano il suo gemello con le macro.
XLSX contiene un foglio di calcolo: celle, formule e i fogli attorno.
È questo a decidere come si converte: un foglio di calcolo diventa un’area di stampa, e dove si spezzano le colonne è una decisione che qualcuno deve prendere.
XLSX porta con sé una cifratura opzionale.
Un file cifrato va sbloccato prima che qualcosa possa convertirlo, qui come altrove. Una password non è qualcosa che un convertitore possa aggirare, e a uno che sostenesse il contrario non converrebbe affidare il file.
Microsoft Excel, LibreOffice Calc e Google Sheets lo leggono, e così fanno quasi tutti i programmi dello stesso tipo.
Quando un file non si apre, il formato è raramente il problema: più spesso è il programma a essere più vecchio di lui. Convertire in qualcosa di più vecchio è la via d’uscita affidabile, ed è a questo che serve il resto di questo sito.
Nessun browser lo legge.
È di gran lunga il motivo più comune per convertirlo: non che il formato sia scadente, ma che il posto in cui vuoi mostrare il file non sappia leggerlo.
XLSX è pensato per essere aperto e modificato. Tieni il file in questo formato per tutto il tempo in cui il lavoro va avanti, ed esporta da lì ogni volta che serve una copia finita.
Rinominate un .xlsx in .zip e apritelo. Dentro c’è un piccolo albero di cartelle: un file XML per foglio di lavoro, una tabella condivisa di ogni stringa distinta nella cartella di lavoro, un file di stili, e una cartella di proprietà del documento. Qualunque immagine o oggetto incorporato sta lì come file separato.
Non è una curiosità. È il motivo per cui una cartella di lavoro corrotta a volte si può salvare aprendo l’archivio ed estraendo l’XML del foglio, perché le dimensioni dei file si comportano nel modo in cui si comportano, e perché una cartella di lavoro può portare cose che nessuno ricorda di averci messo. Il formato è ispezionabile con strumenti che tutti hanno già.
L’XLSX ha sostituito il formato binario XLS con Office 2007. Il vecchio formato era un documento binario composito che solo Microsoft comprendeva appieno; il nuovo è documentato, ed è per questo che LibreOffice, Google Sheets, Numbers e decine di librerie sanno leggerlo in modo affidabile dove il supporto all’XLS è sempre stato una supposizione parziale.
I limiti si sono spostati contemporaneamente e vale la pena conoscerli perché la gente ci sbatte ancora contro: un foglio di lavoro contiene 1.048.576 righe e 16.384 colonne, contro 65.536 e 256 di prima. Un’esportazione troncata esattamente a 65.536 righe è uno strumento che scrive il vecchio formato, non una coincidenza.
Ogni cella con formula contiene due cose: la formula come testo, e l’ultimo risultato calcolato. È per questo che una cartella di lavoro si apre mostrando immediatamente i valori invece di ricalcolare centomila celle prima, e perché uno strumento che legge l’XLSX senza un motore di formule può comunque riportare i numeri giusti.
Significa anche che il valore memorizzato può essere obsoleto. Un file scritto da un programma che non calcola — molte librerie di esportazione non lo fanno — contiene formule senza risultati, e ogni cella si legge come zero o vuota finché Excel non lo apre. Se una cartella di lavoro generata sembra vuota dove dovrebbe avere totali, è questa la causa abituale.
I numeri sono memorizzati come virgola mobile a doppia precisione, che conserva circa quindici cifre significative. Un numero di carta di credito a sedici cifre, un lungo riferimento d’ordine o un codice fiscale perde le ultime cifre — permanentemente, nel file, non solo nella visualizzazione.
La difesa è rendere la colonna testo prima che arrivino i dati, così le cifre sono memorizzate come caratteri invece che come quantità. È lo stesso problema di fondo degli zeri iniziali che spariscono dai CAP, e vale la stessa regola: un identificativo non è un numero solo perché è fatto di cifre.
Le proprietà del documento portano l’autore, chi lo ha salvato per ultimo, il nome dell’azienda dall’installazione di Office e le date di creazione e modifica. Righe nascoste, colonne nascoste e fogli di lavoro nascosti sono nascosti, non assenti — i dati sono nell’XML e chiunque può leggerli.
I collegamenti esterni sono il lato più tagliente. Una formula che fa riferimento a un’altra cartella di lavoro memorizza il percorso completo da cui era collegata, e quel percorso nomina spesso una condivisione di rete, un cliente, o una struttura di cartelle che descrive l’azienda. Cancellare le proprietà del documento non li rimuove; vivono nel foglio, non nei metadati.
È deliberato ed è una delle decisioni migliori del formato. Un file che finisce in .xlsx non può contenere codice macro; una cartella di lavoro con macro deve essere salvata come .xlsm, che si dichiara nell’estensione. Rinominare un XLSM in XLSX non fa passare il codice di nascosto — la cartella di lavoro semplicemente lo perde.
Dà una regola utile per qualunque cosa arrivi via email: un .xlsx semplice non può eseguire codice quando viene aperto. Il rischio sta con .xlsm e il vecchio .xls, entrambi capaci, e nessuno dei due lo dichiara altrettanto chiaramente.
Tutto nell’archivio è compresso, e l’XML dei fogli di calcolo è estremamente ripetitivo, quindi il rapporto è insolitamente buono. Una cartella di lavoro di centomila righe può stare in pochi megabyte. Il testo ripetuto è memorizzato una volta in una tabella condivisa e referenziato per numero, motivo per cui una colonna con gli stessi venti nomi di categoria costa quasi nulla.
Le cose che rendono grande una cartella di lavoro non sono di solito i dati: immagini incorporate, formattazione applicata a interi fogli invece che all’intervallo usato, e cache delle tabelle pivot, che memorizzano una seconda copia dei dati sorgente così che la tabella pivot possa essere riorganizzata senza di essi. Un file misteriosamente da cinquanta megabyte di solito ha una di queste tre cose.
Per una persona, l’XLSX è eccellente: i tipi sono dichiarati, le date restano date, i numeri lunghi mantengono la propria formattazione, e il file porta la propria struttura così che nulla debba essere indovinato all’apertura. Inviare un foglio di calcolo a un collega, è la scelta giusta rispetto al CSV ogni volta.
Per un programma, è più pesante di quanto il lavoro di solito richieda. Leggerlo significa scompattare un archivio e analizzare diversi documenti XML con una libreria, dove il CSV non serve alcuna libreria e scorre da un file più grande della memoria disponibile. È la divisione onesta: XLSX quando una persona lo apre, CSV quando una macchina lo legge.
La causa più comune non è un danno ma un download finito presto o riscritto da un gateway email. Se l’archivio stesso non si scompatta, il file è troncato e nessuna riparazione aiuterà — riscaricatelo dalla sorgente.
Se l’archivio si apre ma Excel rifiuta la cartella di lavoro, l’XML del foglio di solito è intatto e il danno sta in una delle parti più piccole attorno. La funzione Apri e ripara di Excel recupera la maggior parte di questi casi, e dove non ci riesce, estrarre a mano l’XML del foglio dall’archivio almeno recupera i dati.
| Estensione | .xlsx |
|---|---|
| Tipo di media | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
| Pubblicato da | Microsoft |
| Prima pubblicazione | 2007 |
| Specifica | ECMA-376 |