xlsmまたはxlsb形式はいつ使用する必要がありますか?


106

エクセル2007年以来、Microsoftは、古典的な分割している.xls(具体的には、いくつかの形式にフォーマットし.xlsx.xlsm.xlsb)。.xlsxフォーマットの使用法と目的を理解するのに問題はありませんが、VBAを含むファイルを作成するときに.xlsm.xlsbフォーマットを使用する必要があるのか​​どうか疑問に思っています。

もちろん、あなたはウェブ上でいくつかのトピックを見つけることができます、例えば:

この最後のリンクから理解したの.xlsmは、なんらかのXML形式であるため、カスタムリボンタブに必要なことです。

フォーマット間の概念的な違い(XML VS はバイナリファイルに.xlsm基づいています)を超えて、このファイル(リボンのカスタマイズを除く)を使用する場合、実際的な違いはありますか? これらの形式のいずれかを使用するときに、実際の違いを見たことがありますか?.xlsb


3
xlsbは通常xlsmよりも小さい
Charles Williams

ここではいくつかの有用な情報- analystcave.com/...
クリス・

1
:何らかの理由で、.xlsmオーバー.xlsbを使用することで、我々はオブジェクトモデルでファントムオブジェクトを作成するユーザー定義関数を持ったいくつかの問題解決superuser.com/questions/1005482/...
SuMau

回答:


62

これらはすべて、基本的に実際のファイルコンポーネントを含むzipファイルであるという点で似ています。拡張子を.zipに置き換えて開くだけで内容を確認できます。xlsbとの違いは、コンポーネントがXMLベースではなく、バイナリ形式になっていることです。おそらく、これは大きなファイルを操作するときに有益です。

https://blogs.msdn.microsoft.com/dmahugh/2006/08/22/new-binary-file-format-for-spreadsheets/


.xlsファイルはバイナリ形式でした。.xlsbファイルは、新しいバージョンのOffice用にこのバイナリ形式を保持します。バイナリ形式でデータを保存することには、サイズの違いと速度の両方の利点がありますが、改善は非常に大きなファイルでのみ確認されます。
music2myear 2017年

90

.xlsxロード時間は4倍.xlsb、保存時間は2倍、ファイルサイズは1.5倍になります。これを、10000行* 1000列=単純な連鎖=…+1式の10'000'000(10 ^ 7)セルの生成されたワークシートでテストしました。

╭──────────────╥────────┬────────╮
│              ║ .xlsx  │ .xlsb  │
╞══════════════╬════════╪════════╡
│ loading time ║ 165s   │  43s   │
├──────────────╫────────┼────────┤
│ saving time  ║ 115s   │  61s   │
├──────────────╫────────┼────────┤
│ file size    ║  91 MB │  65 MB │
╰──────────────╨────────┴────────╯

(ハードウェア:Core2Duo 2.3 GHz、4 GB RAM、5.400 rpm SATA II HD; Windows 7、他のプロセスからのやや重い負荷の下。)

これ以外に、違いはありません。より正確に、

どちらの形式もまったく同じ機能セットをサポート

2006-08-29のこのブログ投稿を引用しています。.xlsbリボンコードをサポートしていない情報は、上の引用より新しいかもしれませんが、あなたのフォーラムのソースが間違っていると思います。バイナリファイルをクラックして開くと、OOXMLファイル構造を1対1で凝縮したように見えます。ブログ記事( 2006-08-07)


2
トライアルは1つだけですが、ministat(1)の結果はありません:-\
Good Person

2
カスタムリボンを含むファイルの1つがxlsbで正常に機能することを確認しました。
デビッドG

5
@PatrickLepelletier .xlsx.xlsm、マクロが無効になっている場合にのみ似ています。どちらもXMLベースです。それとは対照的に、.xlsbバイナリです。したがって、質問は「{.xlsx / .xlsm}対.xlsb」として読む必要があります。(バイナリーのマクロ無効バージョンはありません.xlsb。)
アーロン・トーマ

4
xlsbの方が良い場合、なぜxlsxがデフォルトなのですか?xlsbにはいくつかの欠点があるに違いありませんか?
PProteus 2017

3
@PProteus、単純にxlsbを置くと、特定の領域に優れています。XML標準を導入する全体のアイデアは、透過性を高め、ファイルの移植性を高め、ファイル操作を容易にすることでした。現在、サードパーティのツールはExcelファイルを適切に読み書きできます(私は知っていますが、リバースエンジニアリングでそれを行うことができましたが、エラーが発生しやすかったです)。一方、大きなExcelファイルを使用することは、Excelの主要な使用法ではないため、移植性を高めるためのトレードオフはほとんどありません。さらに、非マクロファイルを使用すると、セキュリティがある程度向上します。比較として、アセンブラの方が優れているのに、なぜJavaに悩むのでしょうか。
Ister

9

xlsbはxlsmよりも優れていると考えることができます。xlsmがXMLベースでxlsbがバイナリであるという事実は、ワークブックの破損が発生した場合、xlsbよりもxlsmを修復する可能性が高いということです。


1
それが本当なら、xlsmは私にとってのものです。90年代中頃からExcelのファイルが破損しているので、私は呪われています。それは私が生計を立てるために溝掘りを始めるのに十分でした。Office 2000は、ファイル回復機能を備えた最初のバージョンでした。しかし、私はしません
ライダービル

XLSXおよびXLSMファイル拡張子は、2007年より前のExcel XLSファイル拡張子よりもはるかに安定しています。
フェリペコスタグアルベルト2016年

8

後世のために、Excelファイル形式に関するいくつかの外部ソースからのテキストを次に示します。これらのいくつかは、この質問の他の回答で言及されていますが、本質的な内容は再現されていません。

1. 2006年8月22日のDoug Mahughから

...新しいXLSBバイナリ形式。Open XMLと同様に、Excelで作成できるすべてのものを格納できる完全なファイル形式ですが、XLSB形式は、純粋なXML形式では不可能な方法でパフォーマンスが最適化されています。

XLSB形式(「Office 12のバイナリファイル形式」のようにBIFF12とも呼ばれる)では、Open XML形式とXPSで使用されているものと同じOpen Packaging Conventionを使用します。つまり、これは基本的にはZIPコンテナーであり、任意のZIPツールで開いて中身を確認できます。ただし、パッケージ内の.XMLパーツの代わりに、.BINパーツが見つかります...

この記事では、BIN形式に関するドキュメントも参照していますが、ここでは再現するには長すぎます。

2. 2006年8月29日のMSDN Archiveから、XLSB形式に関して既に欠落しているブログ投稿が引用されています。

XML形式を迅速かつ効率的に開くようにするために多くの作業を行いましたが、このバイナリ形式は、Excelを開いて保存するためにより効率的であり、多くのワークブックを含むパフォーマンス向上につながる可能性があります。データ、またはオープンプロセス中に多くのXML解析が必要になります。(実際、多くの場合、新しいバイナリ形式は古いXLS形式よりも高速であることがわかりました。)また、このファイル形式のマクロフリーバージョンはありません。すべてのXLSBファイルにマクロ(VBAおよびXLM)を含めることができます。 。その他すべての点で、上記のXMLファイル形式と機能的に同等です。

ファイルサイズ–両方の形式はzip圧縮を使用してディスクに保存されるため、両方の形式のファイルサイズはほぼ同じです。機能のサポート–どちらの形式もまったく同じ機能セットをサポートしますランタイムパフォーマンス–メモリに読み込まれると、ファイル形式はアプリケーション/計算速度に影響しません


5

XLSB形式は、Excelスタートアップフォルダー(XLSTART)にある非表示のブックファイルに埋め込まれたマクロ専用です。

XLSTARTフォルダー内のxlsmまたはxlsbを使用した簡単なテスト:

Measure-Command { $x = New-Object -com Excel.Application ;$x.Visible = $True ; $x.Quit() }

xlsb(バイナリ)での0,89sと、xlsm形式(zipファイルでのxml)で同じコンテンツを持つ1,3s ... :)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.