Reparar archivo de Openoffice.org Calc corrupto

Hoy me han mandado un archivo de Openoffice.org Calc (el Excel del Openoffice.org pa entendernos) que al intentar abrirlo daba el siguiente error:

Error al cargar el documento.
Error de lectura.
En el documento parcial content.xml del archivo existe un error de formato en la posición 2,657678

OpenOffice.org Calc

En un principio pensé que el numero dado era la posición de una celda, aunque el número era demasiado alto, y tras investigar un poco en busca de una herramienta para reparar este archivo he encontrado un hilo en un foro en el que explica que se trata de la posición del carácter que contiene el error en el formato línea,columna.

Los archivos de Openoffice.org, anteriormente sxc, sxw, etc y actualmente odt, son archivos comprimidos ZIP que contienen varios ficheros en su interior. Si le cambiamos la extensión por .zip (este paso en linux es innecesario) y lo descomprimimos encontraremos varios ficheros. Uno de ellos, y el que contiene los datos, es el fichero content.xml, que es el que me daba el error.

Podemos repararlo con un editor de texto que no haga saltos de línea automáticos (kwrite en mi caso). Al abrirlo veremos que tiene 2 líneas, una con la declaración del DOCTYPE y otra enormemente larga que contiene la estructura y datos del archivo en formato XML.

Debemos dirigirnos a la línea y columna que nos dice el error y cambiarlo por el carácter correcto. En mi caso había varios caracteres cambiados que he podido deducir gracias a que la estructura se repite muchas veces y solo algunas veces aparece mal. Por ejemplo donde debía poner “<text:p>” ponía “<tHGt:p>”.

Una vez sustituido lo guardamos y volvemos a meter todos los archivos en un archivo zip, al que después cambiaremos la extension por la correcta, en mi caso .sxc.

Tras repetir varias veces el proceso con los distintos errores encontrados he podido recuperar el documento.

Las causas de esta corrupción no las conozco, y en el foro hablan de los rayos cósmicos, suena a cachondeo xD.

Notas

  • Es importante que el editor de texto que emplees no genere saltos de línea automáticos. Estos darían un error. Para linux puedes emplear Kwrite por ejemplo. Para windows puedes usar por ejemplo EditPad Lite que es gratuito.
  • Si tras modificar el fichero content.xml te da un error en la posición 3,XXX es que tu editor de texto ha agregado algún salto de línea, recuerda que este fichero siempre tiene 2 líneas, nunca más. A mi me ocurrió esto usando Vim, pues me agregó un salto de línea al final del fichero.
  • Trabaja siempre sobre una copia del archivo, de este modo si haces algo mal siempre podrás volver al punto anterior.
  • Esto lo he probado únicamente con archivos de OpenOffice.org 1.X, aunque los nuevos archivos (ODT) deben tener la misma estructura.

Publicado el Wednesday 09 de January de 2008 por chuano
Guardado en Recetas
Compártelo Trackback

3 comentarios a “Reparar archivo de Openoffice.org Calc corrupto” »»

  1. Comment de RuFo publicado el 09/01/08 a las 17:50
    Gravatar RuFo

    Eso con Excel no me ha pasado nunca. :mrgreen:

  2. Comment de chuano publicado el 09/01/08 a las 18:08
    Gravatar chuano

    Ya salió el ventajista :P

    Ni a mi con el calc, ya te digo que me lo han enviado porque no podían abrirlo…

    Sabe dios lo que es capaz de hacer un luser, quizá despiden ellos mismos los rayos cósmicos…

Trackbacks/Pingbacks

  1. [...] buscado cómo solucionar el problema. He dado con éste enlace, pero no me ha servido de [...]


Deja un Comentario

[x] Cerrar
E-mail
Subir