エクセルのファイル形式(xlsx、xlsm、xlsb)の違い

エクセル2007以降で採用されたファイル保存形式に、xlsx、xlsm、xlsbがありますが、どういう違いがあり、どう使い分ければいいのか、ちょっと検証しました。
※拡張子(xlsx、xlsm、xlsb)は、拡張子をzip等にして解凍すると内部的なファイル構成を確認できます。

■xls(2003形式):マクロ無し ※互換モードで実行

ファイルサイズ:約120MB

起動:約7秒

マクロ実行:約4分

■xlsx:マクロ無し

ファイルサイズ:約46.5MB

起動:約20秒

マクロ実行:(不可)

内部ファイル形式:バイナリ

■xlsm:マクロあり

ファイルサイズ:約46.2MB

起動:約24秒

マクロ実行:約1分

内部ファイル形式:xml +VBA(.bin)はバイナリ
※VBAの情報はテキストソースであるのかもと思いましたが、やはりバイナリでした。

■xlsb:

ファイルサイズ:約28.2MB
※ちなみにxlsで120MBのファイルをzipで圧縮した29MBとほぼ同等です。

起動:約7秒

マクロ実行:約1分

内部ファイル形式:ほとんどバイナリ(.bin)ファイル

 

マクロ入りでエクセル2003以前で動かさなくていいなら、xlsb(バイナリ形式)が一番パフォーマンスが高いようです。(データ量やマクロの処理内容にもよるかもしれませんが。)

 では。

 

コメントは受け付けていません。