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

12

Alguém sabe de 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 quer determinar sua versão original exata.

Eu examinei hex dumps para fazer análise forense semelhante em 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.

    
por CMPalmer 15.12.2009 / 18:16

3 respostas

10

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

Microsoft Excel saves data using structured storage. In particular, it creates a data stream called "Workbook" (previously just "Book") where it saves the contents starting with a BOF (beginning of file) record. This record contains useful attributes of the workbook, as well as the version.

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

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

    
por 15.12.2009 / 18:39
2

Você também pode salvar o arquivo 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

    
por 26.01.2017 / 00:27
1

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

Além de consultar o arquivo da 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 se existe uma boa maneira de descobrir.

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

    
por 15.12.2009 / 18:31