破損したLibreOfficeスプレッドシートを修復する方法

破損したLibreOfficeスプレッドシートを修復する方法

かなり大きな複数シートの LibreOffice ワークシートがありますが、LibreOffice でクラッシュを含む多くのエラーが発生しているようです。

期待通りに動作させるにはどうしたらよいか、何かアイデアはありますか?

おそらくエクスポートしてからインポートしようと考えていますが、作業内容の一部が失われるのではないかと心配です。ワークシートでは、条件付き書式、非表示の行、範囲名など、さまざまな機能が使用されています。

答え1

Calc ods のような ODT ファイルはコンテナ形式です。これらは実際には解凍できる zip ファイルです。ファイルをコピーし、拡張子を ods から zip に変更して解凍します。中には、画像を保存できるフォルダーと、実際のデータを含む XML ファイル (content.xml) があるはずです。無視できる他のファイルもいくつかあります。XML エディターで XML を分析できます。編集したファイルを元に戻し、圧縮して ods に名前を変更し、それが機能するかどうかを確認します。

これがさらに役立つかどうかはわかりませんが、試してみる価値はあります。

バックアップはありますか? このファイルが Dropbox に保存されている場合、古いバージョンがある可能性があります。バックアップがない場合は、バックアップがどれほど役立つかがわかります。

答え2

同じ問題がありましたが、次の方法で回復できました:

  1. 破損したファイルを解凍する
  2. 良いファイルを解凍する
  3. 解凍された良いODと比較して
  4. meta.xml で次の要素に違いが見つかりました<meta:editing-duration>
  5. 良いものに置き換えました:<meta:editing-duration>PT9M</meta:editing-duration>
  6. zip -r filename.ods *
  7. 開いてLibreOfficeを修復させます。

取り戻しました:-)

答え3

.ods ファイルで、12 枚以上のシートのうち 1 枚を開けないという同様の問題が発生しました。LibreOffice プログラム全体がハングしますが、そのシートを開こうとしたときだけです。別のシートを追加すると、問題のあるシートが機能し始めました。おそらく、ここでもそれが役立つでしょう。

関連情報