13

Does anyone know of a way to determine which version of Excel was used to create a file? We have some .xls files and need to determine the version. They open fine in Excel 2007 and higher, but a co-worker wants to determine their exact original version.

I've examined hex dumps to do similar forensics on .doc and image files, but I can't find anything particularly useful in the .xls file and the extended properties don't seem to help either.

3 Answers 3

10

Microsoft KB 178605: How To Determine the Version of a Microsoft Excel Workbook (snapshot)

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.

That article goes on to give sample C++ code to dump this information.

Also see, Stackoverflow,
How to identify whether an Excel file conforms to Excel 95 or Excel 97 specifications?

7

You could also save the excel file with the .zip extension. Then open that archive and look in the docProps folder. Open the app.xml and check the AppVersion node:

16.0300

3
  • I think this is enough to find it. I upvoted this
    – mending3
    Commented Jun 21, 2021 at 14:30
  • I didn't quite understand this solution. So here is some more info to help other users. An XLSX file is really a zip file. So if you change the extension to myWorkbook.zip and either extract or open it in compression software like 7zip you can browse the contents. Within the archive you'll find a a file at DocProps/app.xml. Open that file and look for the AppVersion node. It contains the version of Excel used to save the file.
    – mrtsherman
    Commented Sep 30, 2022 at 14:05
  • There's app.xml in docsProps folder in mycase. Downvoting...
    – dzieciou
    Commented Feb 29 at 10:28
1

As far as I know, in the Meta Data it simply stores it as "Microsoft Excel".

Other than looking at the file for the version e.g. .xlsx for 2007 and 2010, or .xls for 97-2003 (could be older, but unlikely), I am not sure there is a good way to find out.

Why does your co-worker want to know? If you say what the goal is other than finding the version number, I may be able to help you find another way of achieving it.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .