Como posso determinar qual versão do Excel foi usada para criar um arquivo .xls?


12

Alguém sabe uma maneira de determinar qual versão do Excel foi usada para criar um arquivo? Temos alguns arquivos .xls e precisamos determinar a versão. Eles abrem bem no Excel 2007 e superior, mas um colega de trabalho deseja determinar sua versão original exata.

Examinei os dumps hexadecimais para fazer análises forenses semelhantes nos arquivos .doc e de imagem, mas não consigo encontrar nada particularmente útil no arquivo .xls e as propriedades estendidas também não parecem ajudar.

Respostas:


10

Microsoft KB 178605: Como determinar a versão de uma pasta de trabalho do Microsoft Excel

O Microsoft Excel salva dados usando armazenamento estruturado. Em particular, ele cria um fluxo de dados chamado "Pasta de Trabalho" (anteriormente apenas "Livro"), onde salva o conteúdo começando com um registro BOF (início do arquivo). Este registro contém atributos úteis da pasta de trabalho, bem como a versão.

Esse artigo continua fornecendo código C ++ de exemplo para despejar essas informações.

Veja também, Stackoverflow,
como identificar se um arquivo do Excel está em conformidade com as especificações do Excel 95 ou Excel 97?


3

Você também pode salvar o arquivo do Excel com a extensão .zip. Em seguida, abra esse arquivo e procure na pasta docProps. Abra o app.xml e verifique o nó AppVersion:

16.0300


1

Tanto quanto eu sei, no Meta Data ele simplesmente o armazena como "Microsoft Excel".

Além de procurar no arquivo a versão, por exemplo, .xlsx para 2007 e 2010 ou .xls para 97-2003 (pode ser mais antigo, mas improvável), não tenho certeza de que haja uma boa maneira de descobrir.

Por que seu colega de trabalho quer saber? Se você disser qual é o objetivo, além de encontrar o número da versão, talvez eu possa ajudá-lo a encontrar outra maneira de alcançá-lo.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.