XLSX

O que é um arquivo XLSX?

O formato do Excel desde 2007. Várias abas, fórmulas e formatação.

O que é XLSX

XLSX é um contêiner: um invólucro para fluxos que outra coisa codificou. Ele é usado para a edição.

A extensão é .xlsx e o nome por extenso é Excel Workbook. Os dois importam menos do que aquilo que o arquivo consegue carregar, e é disso que trata o resto desta página.

De onde vem XLSX

A Microsoft publicou o formato em 2007. A especificação é ECMA-376.

A idade interessa por um motivo prático: quanto mais antigo o formato, mais programas tiveram tempo de aprendê-lo.

A especificação é pública

Ela está publicada por inteiro, então dá para implementá-la a partir do documento em vez de por observação — é por isso que o formato aparece em tantos programas e por isso que arquivos escritos há vinte anos ainda abrem. Especificação publicada não é o mesmo que livre de royalties: quando o formato embrulha um codec, o licenciamento das patentes é uma questão à parte, que a norma não resolve.

Ele pode ter várias páginas num só arquivo

Um arquivo XLSX não está limitado a uma página, e isso conta na hora de converter para algo que está: cada conversão produz um arquivo com uma página só — a primeira, a menos que o conversor deixe você escolher qual.

Ele não pode conter macros

XLSX não pode levar código executável. É por isso que servidores de e-mail e portais de documentos deixam ele passar onde barram o gêmeo com macros.

Que tipo de documento ele é

XLSX contém uma planilha: células, fórmulas e as abas em volta.

É isso que decide como ele converte: uma planilha vira uma área de impressão, e onde as colunas quebram é uma decisão que alguém tem de tomar.

O que ele faz para se proteger

XLSX traz criptografia opcional.

Um arquivo criptografado precisa ser destrancado antes que qualquer coisa possa convertê-lo, aqui e em qualquer outro lugar. Uma senha não é algo que um conversor contorne, e a um que dissesse o contrário você não deveria entregar o arquivo de jeito nenhum.

O que abre XLSX

Microsoft Excel, LibreOffice Calc e Google Sheets leem esse formato, e a maioria dos programas do mesmo tipo também.

Quando um arquivo não abre, o formato raramente é o problema — mais comum é o programa ser mais antigo que ele. Converter para algo mais antigo é o caminho confiável, e é para isso que serve o resto deste site.

Abrir no navegador

Nenhum navegador lê o formato.

Esse é de longe o motivo mais comum para convertê-lo: não que o formato seja ruim, mas que o lugar onde você quer mostrar o arquivo não consegue lê-lo.

É um formato de trabalho

XLSX foi feito para ser aberto e alterado. Mantenha o arquivo nesse formato enquanto o trabalho estiver em andamento e exporte a partir dele sempre que precisar de uma cópia pronta.

Um arquivo ZIP cheio de XML, e você consegue olhar dentro

Renomeie um .xlsx para .zip e abra. Dentro está uma pequena árvore de diretórios: um arquivo XML por planilha, uma tabela compartilhada de toda string distinta da pasta de trabalho, um arquivo de estilos, e uma pasta de propriedades do documento. Qualquer imagem ou objeto incorporado fica ali como um arquivo separado.

Isso não é curiosidade. É por isso que uma pasta de trabalho corrompida às vezes pode ser resgatada abrindo o arquivo compactado e puxando o XML da planilha, por que o tamanho do arquivo se comporta como se comporta, e por que uma pasta de trabalho pode carregar coisas que ninguém lembra de ter colocado. O formato é inspecionável com ferramentas que todo mundo já tem.

A ruptura de 2007, e o que ela corrigiu

O XLSX substituiu o formato binário XLS com o Office 2007. O formato antigo era um documento binário composto que só a Microsoft entendia por completo; o novo é documentado, motivo de o LibreOffice, o Google Planilhas e dezenas de bibliotecas conseguirem ler de forma confiável onde o suporte a XLS sempre foi um chute parcial.

Os limites mudaram junto e vale saber isso porque as pessoas ainda esbarram neles: uma planilha guarda 1.048.576 linhas e 16.384 colunas, contra 65.536 e 256 antes. Uma exportação truncada em exatamente 65.536 linhas é uma ferramenta escrevendo o formato antigo, não uma coincidência.

Fórmulas são guardadas duas vezes

Toda célula com fórmula guarda duas coisas: a fórmula como texto, e o último resultado calculado. É por isso que uma pasta de trabalho abre mostrando valores imediatamente em vez de recalcular cem mil células primeiro, e por que uma ferramenta que lê XLSX sem motor de fórmula ainda consegue reportar os números certos.

Também significa que o valor em cache pode estar desatualizado. Um arquivo escrito por um programa que não calcula — muitas bibliotecas de exportação não calculam — contém fórmulas sem resultado, e toda célula lê como zero ou vazio até o Excel abrir. Se uma pasta de trabalho gerada parece vazia onde deveria ter totais, essa é a causa comum.

Quinze dígitos, e depois para de ser exato

Números são guardados como ponto flutuante de precisão dupla, que guarda cerca de quinze dígitos significativos. Um número de cartão de dezesseis dígitos, uma referência de pedido longa ou um documento de identificação perde seus últimos dígitos — permanentemente, no arquivo, não só na exibição.

A defesa é tornar a coluna texto antes do dado chegar, então os dígitos são guardados como caracteres em vez de uma quantidade. É o mesmo problema por baixo do zero à esquerda desaparecendo de um CEP, e a mesma regra se aplica: um identificador não é um número só porque é feito de dígitos.

O que viaja com a pasta de trabalho que você não pretendia enviar

As propriedades do documento carregam o autor, a última pessoa a salvar, o nome da empresa da instalação do Office e as datas de criação e modificação. Linha oculta, coluna oculta e planilha oculta estão ocultas, não ausentes — o dado está no XML e qualquer um consegue ler.

Links externos são a borda mais afiada. Uma fórmula referindo outra pasta de trabalho guarda o caminho completo de onde foi ligada, e esse caminho frequentemente nomeia um compartilhamento de rede, um cliente, ou uma estrutura de pasta que descreve o negócio. Limpar as propriedades do documento não remove isso; mora na planilha, não no metadado.

Macros não são permitidas num XLSX

Isso é deliberado e uma das melhores decisões do formato. Um arquivo terminado em .xlsx não pode conter código de macro; uma pasta de trabalho com macro precisa ser salva como .xlsm, que se anuncia na extensão. Renomear um XLSM para XLSX não contrabandeia o código através disso — a pasta de trabalho simplesmente perde ele.

Isso dá uma regra útil para qualquer coisa chegando por e-mail: um .xlsx simples não consegue rodar código quando aberto. O risco mora no .xlsm e no .xls mais antigo, os dois capazes disso, e nenhum dos dois avisa isso tão claramente.

Por que o arquivo é menor do que parece

Tudo no arquivo compactado é comprimido, e o XML de planilha é extremamente repetitivo, então a taxa é incomumente boa. Uma pasta de trabalho de cem mil linhas pode chegar a poucos megabytes. Texto repetido é guardado uma vez numa tabela compartilhada e referenciado por número, motivo de uma coluna com as mesmas vinte categorias custar quase nada.

As coisas que deixam uma pasta de trabalho grande geralmente não são os dados: imagem incorporada, formatação aplicada à planilha inteira em vez do intervalo usado, e cache de tabela dinâmica, que guarda uma segunda cópia dos dados de origem para a tabela poder ser reorganizada sem eles. Um arquivo misteriosamente de cinquenta megabytes geralmente tem um desses três.

Um bom formato de trabalho e um formato pobre de intercâmbio

Para uma pessoa, o XLSX é excelente: tipos são declarados, data continua data, número longo mantém a formatação, e o arquivo carrega sua própria estrutura então nada precisa ser adivinhado ao abrir. Enviando uma planilha a um colega, essa é a escolha certa sobre CSV toda vez.

Para um programa, é mais pesado do que o trabalho geralmente precisa. Ler isso significa descompactar um arquivo e interpretar vários documentos XML com uma biblioteca, onde CSV não precisa de biblioteca nenhuma e flui de um arquivo maior que a memória. Essa é a divisão honesta: XLSX quando uma pessoa abre, CSV quando uma máquina lê.

Quando a pasta de trabalho não abre

A causa mais comum não é dano, é um download que terminou cedo demais ou foi reescrito por um gateway de e-mail. Se o arquivo compactado em si não descompacta, o arquivo está truncado e nenhum reparo vai ajudar — busque de novo na origem.

Se o arquivo compactado abre mas o Excel recusa a pasta de trabalho, o XML da planilha geralmente está intacto e o dano está numa das partes menores ao redor. O Abrir e Reparar do próprio Excel recupera a maioria desses, e onde não recupera, extrair o XML da planilha manualmente pelo menos tira o dado de lá.

Os dados, num lugar só

Identificadores e procedência do formato XLSX.
Extensão.xlsx
Tipo de mídiaapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Publicado porMicrosoft
Primeira publicação2007
EspecificaçãoECMA-376