Skip to content

Error recovery when opening MS Excel:  #401

@kyalpani

Description

@kyalpani

Hi, using rubyXL, I am transforming an existing MS-Excel into a new one... When I open the new one, MS-Excel reports an error and tries to fix the errors...

Excel completed file level validation and repair. Some parts of this workbook may have been repaired or discarded.
Removed Records: Named range from /xl/workbook.xml part (Workbook)
Repaired Records: Cell information from /xl/worksheets/sheet7.xml part

The result of the recovery is stored in the file with the following content

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><logFileName>error018760_01.xml</logFileName><summary>Errors were detected in file 'C:\Users\Win10\Downloads\ZZZZZZZ.xlsx'</summary><additionalInfo><info>Excel completed file level validation and repair. Some parts of this workbook may have been repaired or discarded.</info></additionalInfo></recoveryLog>

I unzipped the contents of the original and transformed Excels and compared them (in meld), specifically I compared workbook.xml in both versions and I can see that under the <sheets> tag all "r:id" values are off by 5, i.e. if a sheet in the original version has r:id=X then in the transformed version it has r:id=(X + 5). I checked the rubyXL code and see that in ./lib/rubyXL/objects/relationships.rb:40 says

:id => "rId#{relationships.size + 1}"

and wonder how it could go wrong... obviously when writing out the file somehow
apriori relationships.size == 5
but I do not understand why? Do you have any idea?
Thanks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions