忍者ブログ

VB.NET-TIPS などプログラミングについて

VB.NETのTIPS(小技集)を中心に、Javascript、PHP その他のプログラミングについて少し役に立つ情報を発信します。いわゆる個人的な忘備録ですが、みなさんのお役に立てれば幸いです。

EXCELファイルはXMLファイルの集まり(ZIPファイル)?

EXCELファイルの拡張子が xlsx のファイルですが、多分 EXCEL2007以降のバージョンでEXCEL2010,2013,2015などで出力される形式があります。 このファイルですが、中身はXMLファイルの集まりが圧縮されているそうなのです。 お恥ずかしい限りですが、つい最近まで知らなかったのですが、EXCELファイルをZIPファイルにリネームし圧縮を解凍すれば中身が見られます。

そこで、どうなっているのかを調べてみたので順に見ていきます。
■先ずはテスト用のEXCELファイルを作成します。簡単な内容のデータを作成します。


■フォルダの中に test.xlsx ファイルが作成されました。


test.xlsx ファイルのコピーを作成します。


test.xlsx のコピーファイルのファイル名を test.zip に変更します。


test.zip ファイルを展開してやります。
以下は test.zip ファイルの上で右クリックをしたところですが、その中の「すべて展開(T)...」を選択します。 (私のPCでは各種ツールが入っていますので、変なメニューも表示されていますが)


■展開結果は以下の様になります。


展開された中のXMLファイルを見てみます。 XMLファイルの中身を見たい場合にはXML表示ソフトを使いますが、以下のフリーソフト「XMLEDITOR.NET(xml.exe)」が使いやすいと思います。 このソフトを使ってXMLファイルをのぞいてみます。

XMLEDITOR .NETについて

\test\xl\worksheets フォルダの中の sheet1.xml ファイルを「XMLEDITOR.NET(xml.exe)」で見てみます。


以上からエクセルのファイルは各種のXMLファイルで構成されていることが分かります。 尚、今回なぜエクセルの中身を解析する必要が在ったかと言いますと、PHPでのエクセル出力で、エクセルのグラフの表現がどうなっているかを調査するためでした。

VB.NETからエクセルを使う場合はエクセルのオブジェクトからそのメソッド等を利用して操作ができるので、中身までは意識しませんが、 PHPからの処理ではPHPExcleライブラリだけでは難しい部分もありますので、参考になればと思います。

関連する記事

Excel ファイルの操作について(Microsoft.Office.Interop.Excel COM参照)

楽天市場











PR

コメント

コメントを書く