Rename a copy of the corrupt workbook to .zip. That is the move. Search for rename xlsx to zip recover data and you will land on the same technique. An .xlsx file is a ZIP package of XML files (Office Open XML). Browse the archive, open the sheet XML, and read your data straight out of the tags. This is a last-resort manual method. It is not the same as exporting to CSV with a working copy of Excel.

Why This Works the XLSX File Structure

The ZIP package inside your workbook

An .xlsx file is a compressed archive containing a folder of XML files. This structure is called Office Open XML. Rename the extension to .zip and any standard archive tool (7-Zip, WinRAR, the built-in utility on your operating system) can open it and show you the internal layout.

Key parts of the package:

  • [Content_Types].xml, a manifest of the file types inside.
  • xl/workbook.xml, which lists every sheet in the workbook.
  • xl/worksheets/sheet1.xml (and sheet2.xml, etc.), holding the actual cell data for each worksheet.
  • xl/sharedStrings.xml, where all text strings used anywhere in the workbook are stored.
  • xl/styles.xml, containing fonts, colours, and cell borders.

Learn this layout. It is what lets you extract data from a corrupt xlsx by hand.

Step by Step Open XLSX as ZIP

Work on a copy. Never touch the original.

  1. Copy the corrupt .xlsx file into a working folder.
  2. Rename the copy so the extension becomes .zip. Change report.xlsx to report.zip.
  3. Open the .zip file with your archive tool. You will see a folder structure starting with [Content_Types].xml, a _rels folder, and an xl folder.
  4. Navigate into xl, then into worksheets. You will find sheet1.xml, sheet2.xml, and so on for every worksheet the workbook had.

If the archive tool reports errors, the ZIP structure itself is damaged. Stop there. You need a ZIP repair utility or a workbook rebuild before the XML can be read.

Reading the Sheet XML

Extract xl/worksheets/sheet1.xml to your desktop. Open it in a plain text editor (Notepad, Sublime Text, VS Code). You will see a series of tags.

How cells are stored

Each cell is a <c> element. The r attribute gives the cell reference (A1, B3). The t attribute tells you the data type. When t="s", the cell holds a text string stored as a number. That number is a zero-based index pointing into xl/sharedStrings.xml. <c r="A1" t="s"><v>2</v></c> means the third string (index 2) in the shared strings file.

No t attribute? The value inside <v> is a number or a date serial number.

Extracting text from sharedStrings.xml

Open xl/sharedStrings.xml in your text editor. Find the <si> elements. Each one contains a single text string inside a <t> tag. The first <si> is the first index, the second is the next index. Match the index from the sheet XML to the corresponding <si> element and you have your original text.

Dealing with Formulas and Macros

Formulas sit inside <f> elements in the sheet XML. The last calculated value follows in a <v> element. If the workbook was saved before it corrupted, that value is still there, even though the formula can no longer run.

Macros are different. A .xlsm file stores macro code in xl/vbaProject.bin. That is a binary file. You cannot read it as plain text. You need a tool that parses the binary format to recover the code.

Important Limitations

This method works only for .xlsx files. Legacy .xls files use a binary format, not a ZIP package. Do not attempt this on an .xls. Use a different recovery approach.

A damaged ZIP archive stops you. Missing headers or a corrupt central directory means a standard archive tool cannot open the file. Run a ZIP repair utility first, or try a specialized workbook rebuild.

Use this technique to pull raw data from a workbook Excel refuses to open. It will not recover formatting, charts, or images. For a simpler path, upload the file to an online service like xls.repair, which attempts to rebuild the workbook for you.