俺氏、本を読む

30歳になるまでに本を読んで勉強しようかと。主に啓発、お金についての本を読むつもり。一応プログラマーなのでその辺のことも。あと、せどり(転売)の仕入れ見込み商品をリサーチして仕入先と一緒に投稿します

EXCELを開くと「読み取れない内容・・・」のエラーが出る場合の対処

正確な対処ではないのでしょうけど、
俺氏の場合はとりあえず問題なくなったのでいいかなとw
ファイルが壊れちゃってるっぽいからこんな対処でもいいのかな?
とりあえず俺氏がやった対策を_(_^_)_

現象

何が原因かははっきり分からないのですけど、
あるEXCELファイルに別のEXCELファイルのシートを移動させて、
なんやかんや編集したりして保存した後に、再度開くと
「'XXXX.xlsx'には読み取れない内容が含まれています。このブックの内容を回復すますか?ブックの発行元が信頼できる場合は、「はい」をクリックしてください。」
f:id:oresi:20141022104820p:plain
と表示されるようになった(@_@;)
他のEXCELファイルも同様の操作で編集してたりしたのだけど、
そのうちの1ファイルだけで上記の現象が発生したので原因はよく分かんない。
 
んで「はい」を選択すると以下のダイアログが表示される。
f:id:oresi:20141022104833p:plain
 
「パーツ内のビュー」ってのが何なのかサッパリ分からん。
でもとりあえずはファイルは開ける。

対処

ファイル内容はとくに問題無かったので、
そのまま上書き保存して開き直すとまた同じエラーが(-_-;)
でも、「別名で保存」するとエラーが表示されないようになった。
というわけで俺氏の対処としては、
「別名で保存」!
 

原因調査

※ここからは蛇足、というか結局分からんかったので分かる人教えてー
上記の「修復されたレコード~」ってダイアログ内の
「クリックすると修復のログファイルが表示されます: リンク(青文字)」をクリックすると、
ブラウザで以下が表示される。
f:id:oresi:20141022105618p:plain
 
ふむふむ、分からん。
というわけで「/xl/worksheets/sheet1.xml」というのを直接見てやろう!

EXCELファイル構造の見方

これはEXCEL2007以降なのかな?
「Office Open XML」というファイル形式が使用されているのはOffice2007からだったと思うので。
EXCELのファイル構造を確認する方法は、
Office2007からはXMLで記述された情報(文字とか画像とか)のバイナリ情報をZIPでパッケージングして格納してるので、
対象のEXCELファイルの拡張子を「.xlsx」から「.zip」に変えるだけでファイル構造が確認できます。
※一応、元のEXCELファイルのバックアップは忘れずに
んで、ZIPファイルを開くと以下のような構造になってます。
(俺氏は圧縮ファイルはWinRARで開いてます)
f:id:oresi:20141022105650p:plain
 
上記の手順で「壊れているEXCELファイル」と「別名で保存し直したEXCELファイル」の
「/xl/worksheets/sheet1.xml」を開くと以下のような感じ。
・壊れてる方
f:id:oresi:20141022105659p:plain
・別名で保存した方
f:id:oresi:20141022105720p:plain
selectionってやつは保存した時のどのセルを選択してるかみたいなやつだと思うので、今回は無視。
んで、sheetData-row-cの「s」が何なのか分からないけど、
壊れているファイルの方が1少なかった。
この「s」が1少なくなっている以外は、全部同じだったのでこれが原因?
でもこれが何かサッパリわからんし、なんかそんな重要なプロパティでないような気がする。
お手上げー\(-o-)/
というか今仕事中なのであまり余計なことしてる場合じゃなかったw
 
でも気になるので誰か知ってたら教えてくださいな_(_^_)_

入門Office Open XML

入門Office Open XML