1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Excel出力を[xls]から[xlsx]に切り替えた時のエラー

Posted at

遭遇したエラー

 '<ファイル名>' には読み取れない内容が含まれています。このブックの内容を回復しますか ?
 ブックの発行元が信頼できる場合は、[はい] をクリックしてください。
image.png

はい(Y)をクリックすると

「読み取れなかった内容を修復または削除することにより、ファイルを開くことができました」
という内容の ['<ファイル名>' の修復]
image.png

xlsの時にはなかったがxlsxでは発生する。

違う解決策

Microsoftサポートでこのエラーについての原因と解決策が提示されていた。
こちら

原因

セルの枠線上に、[サイズとプロパティ] を [セルに合わせて移動やサイズ変更をする] に設定している Line オブジェクトがある状態で行または列の追加をすると、OpenXML 形式で情報を保持する際の "線の位置情報" に不整合が生じます。
xlsx 形式のファイルを開くときに表示されるファイルが破損している旨のメッセージは、この "線の位置情報" の不整合を検知して表示されています。

(ふむふむ、何を言っているのか分からなかった。)

解決策

Excel 2013

Excel 2013 でこの問題を解決するには、Office 2013 の Service Pack 1 をインストールします。
Office 2013 の Service Pack 1 について参照するには、次のサポート技術情報をクリックしてください。

 2817430 Description of Microsoft Office 2013 Service Pack 1 (SP1)

Excel 2010

Excel 2010 でこの問題を解決するには、Excel 2010 の修正プログラム パッケージをインストールします。
修正プログラム パッケージについて参照するには、次のサポート技術情報をクリックしてください。

 2825798 Description of the Excel 2010 hotfix package (Excel-x-none.msp): October 8, 2013

Excel 2007

Excel 2007 につきましては、メインストリーム サポートが終了しているため、修正プログラムはございません。

(Office365を使用しているためこれらに該当するのか分からなかったがエラー内容見る限りこの辺りで間違えないだろうとおもっていた。)

本当の原因

いろいろ調べる中でこのエラーに苦しむ人が多く、おまけに情報量がとてもすくなかったので
今回その中の一つになればと思っています。

今回のエラーの原因は
シートの命名が原因でした。

シートにはいろいろと使用できない文字が決められており
今回はそれに変な形でぶつかった。

「 」スペースがexcelのシートに含まれていたのでよくわかないがエラーが起きていた。
手動でスペースを空けてシートに入力する分にはエラーは発生しないが
プログラムでexcel出力を行うとなぜかエラーがおきる。

プログラムの方でスペースを排除したら
異常なくexcelファイルが出力された。

おそらく
「xls」と「xlsx」でのシートの命名規則に違いがあり
今回それに引っかかったのかなと思う。

まとめ

エラーの内容とMicrosoftの提示していることが違いすぎて
かなり迷走してしまった。

提示している事象でもおそらく同じエラーが出るのかなと思う。
エラーに対しての原因と解決策が一致していなさそうなので

もしこのエラーについて調べてこの記事に出会った方は
「シートの命名」がもしかしたら・・・

かもしれないので検証してみてください。

ありがとうございました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?