ExcelFIX Recovery Engine
 
ExcelFIX Recovery Engine

[Help index]

ExcelFIX 4 is the result of a year and a half of work by our best programmers. Despite ExcelFIX 3 being the best Software for the recovery of corrupt MS Excel file, we believed that we could make it even better. Quality is our primary goal and ExcelFIX 4 is proof of this statement. This version has an entirely new recovery engine that restores hundreds of new corruption types. It also includes an all new user interface, new graphics and many new features and options. ExcelFIX is now in a category of its own with no possible comparison to any existing software of its type.

How does ExcelFIX work?

The ExcelFIX 4 recovery engine contains programming code that has the equivalent functionality of MS Excel's read and save functions. The code is designed and tested to work in unfriendly, damaged file environments. The code has been written from scratch as the source code for Ms Office is not publicly available.

OLE structure

An MS Excel file has an internal structure similar to a disk inside a file. The XLS file contains elements equivalent to files and folders. This structured file format is called OLE File or OLE Compound File. In many cases this structure becomes damaged, and as a result it is not possible to read the contents of the file. We can say that ExcelFIX is partly an "OleFIX" utility. As MS Excel is unable to read damaged OLE files, a new OLE file reading system is created that is able to reconstruct this structure even with extremely defective files.

Records chain

Once the OLE structure of the file has been reconstructed, the interior of the file can be read. The file is analyzed and the version of MS Excel is determined, as MS Excel files are different depending on their version. The main stream inside the file contains a listing of MS Excel records that contains all of the workbook's information. There are hundreds of different types of records and every type has a particular structure.

The first problem comes from the fact that the record chain can be affected by the corruption. This means that in many cases the records are not able to be read. This occurs because the position of a record depends on the previous one: If one of them is corrupted, it is not possible to know where the next is. This is solved using a multi algorithm approach: 1. ExcelFIX performs a morphological analysis of each record based on fixed aspects, ranges, size and other factors. 2. ExcelFIX makes different combinations of the records and chooses the combination that creates a better chain. 3. ExcelFIX compares the relationship between records with a statistical database generated from thousands of real MS Excel files.

Parsing data

The next step is reading each record in memory and parsing its contents in the same way MS Excel does. Relationships between elements have to be carefully checked as well.

Viewing data

At this point the graphic user interface allows the user to view and browse the file to check its contents. Also at this stage the user can perform special tasks such as a lost strings recovery applicable in some corruption cases. Only ExcelFIX recovers this type of corruption.

Saving data

Finally the data is saved in a new trouble free file. This requires reproducing the save functions in MS Excel for the collected data stored in memory using our proprietary format.

Continuous testing

This utility works with files whose contents and corruption nature cannot be predicted. We have tested ExcelFIX with thousands of corrupted files and will continue to do so to include the recovery of every corruption type possible.