.XLS ファイルは何ですか?
拡張子が XLS のファイルは、Excel Binary File Format を表します。このようなファイルは、Microsoft Excel だけでなく、OpenOffice Calc や Apple Numbers などの他の同様のスプレッドシート プログラムでも作成できます。 Excel によって保存されたファイルはワークブックと呼ばれ、各ワークブックには 1 つ以上のワークシートを含めることができます。データはワークシートに表形式で保存され、ユーザーに表示され、数値、テキスト データ、数式、外部データ接続、画像、およびグラフにまたがることができます。 Microsoft Excel などのアプリケーションでは、PDF、CSV、XLSX、TXT、HTML、XPS、その他いくつか。 XLS ファイル形式は、Microsoft Excel 2007 のリリースにより、よりオープンで構造化された形式である XLSX に置き換えられました。最新バージョンでも、XLS ファイルの作成と読み取りがサポートされていますが、現在は XLSX が最初に使用されています。
簡単な歴史
XLS は、Microsoft Excel で使用するために Microsoft によって作成され、Binary Interchange File Format (BIFF) としても知られています。このファイル タイプは、1987 年に Excel for Windows の一部として初めて導入されました。XLS ファイル形式の仕様は、2008 年 6 月にリビジョン 1 として初めて公開されました。その後、仕様は継続的に更新され、最新のリビジョンが利用可能になりました。リビジョン 8.0 としてマークされている 2018 年 8 月時点のものです。 XLS ファイル形式のさまざまなバージョンの簡単な歴史は次のとおりです。
- バージョン 7.0 (office 95 でリリース): このバージョンの Excel は、すべてのバージョンの中で最も堅牢で高速で、内部ストリームの書き換えが 32 ビットに更新されました。
- バージョン 8 (office 97 でリリース): VBA が標準言語として導入され、削除された自然言語ラベルがこのバージョンで初めて組み込まれました。また、ペーパー クリップ オフィス アシスタントも初めて導入されました。
- バージョン 9 (office 2000 でリリース): バージョン 9 では、ペーパー クリップ オフィス アシスタントが以前は不可能だった複数のオブジェクトを同時に保持できる小さな変更のみがありました。
- バージョン 10 (office XP でリリース): このバージョンには目立った改善は含まれていません。
- バージョン 11 (office 2003 でリリース): バージョン 11 のメジャー アップデート、Excel 2003 は新しいテーブルの導入でした。
XLS ファイル形式の仕様
データは、[MS-CFB] で説明されているように、複合ファイルの形式でバイナリ ストリームとして XLS ファイルに配置されます。データは、ワークシート定義などのワークブック データを含む、ワークブックの内容と構造に関する情報を含むストレージ、ストリーム、およびサブストリームを使用して、複合ファイルに格納されます。各ストリームまたはサブストリームには、一連のバイナリ レコードが含まれています。各バイナリ レコードには、ワークブック データを含む 0 個以上の構造化フィールドが含まれます。このセクションでは、XLS ファイル構造の概要を簡単に説明しますが、詳細なファイル形式の仕様については、XLS ファイル形式の仕様.aspx) Microsoft によるドキュメント。
ストリームとサブストリーム
ワークブックは、ワークブック ストリームによって表されます。ワークブック内の各ワークシートは、サブストリームによって表されます。さらに、グローバル サブストリームに続くチャート シート サブストリーム、マクロ シート サブストリーム、またはダイアログ シート サブストリームがあります。ワークブック データを含む各バイナリ ストリームまたはサブストリームは、一連のバイナリ レコードとして書き込まれる必要があります。
#### 記録 ####
ワークブック内の機能に関する情報は、可変長のバイト シーケンスであるレコードとして格納されます。バイナリ レコードは、次の 3 つのコンポーネントで構成されます。
レコード タイプ: レコード タイプは、レコードによって指定される情報のタイプと、このレコードに固有のレコード データの構造がどのように順序付けられ、構造化されるかを指定する 2 バイトの符号なし整数です。レコード タイプの値は、レコード列挙 (セクション 2.3) の値である必要があります。または、レコードは将来のレコード アーキテクチャ (セクション 2.1.6) を使用する必要があります。
レコード サイズ: レコード サイズは、レコード データの合計サイズを指定するバイト数を指定する 2 バイトの符号なし整数です。レコード サイズは 0 以上で、8224 以下でなければなりません。
レコード データ: レコード データ コンポーネントには、特定のレコード タイプに対応し、残りのレコードを構成するフィールドが含まれます。特定のレコード タイプのフィールドの順序と構造は、そのレコード タイプの対応するセクションで指定されます。レコード データ コンポーネントのサイズは、レコード サイズと等しくなければなりません。レコード データ コンポーネントのフィールドには、単純な値、値の配列、複数のフィールドの構造体、フィールドの配列、および構造体の配列を含めることができます。
セル テーブル
セルは、テキスト、数式、数値データなどのブックの内容を格納するブックの基本的なブロックです。セルは、セル テーブルと呼ばれるデータ構造を介して、格納されたデータの記録を維持します。セル テーブル自体は、仕様ドキュメントで定義されている CELLTABLE 規則に準拠する一連のレコードに格納されます。これは、行が行ブロックに配置されている一連の行ブロックで構成されています。各行ブロックには、データを含む最初の行からデータを含む最後の行までの行が含まれます。
データまたは行のフォーマットは、行ブロックごとに行レコードに保存されます。データまたは個々のセルの書式設定を含むすべてのセルは、レコードによって表されます。セルに関連付けられた書式設定は、個々のセルの書式設定、行の書式設定、列の書式設定、または既定のセルの書式設定から派生させることができます。書式設定の優先順位は、個々のセルの書式設定が最も優先度が高く、次に行の書式設定、列の書式設定、既定のセルの書式設定の順です。データを含まず、個々の書式を含まないセルは保存されません。
数式
数式は、セル内の値、セル参照、名前、関数、または演算子のシーケンスであり、それらが一緒になって新しい値を生成します。数式は、「解析された式」と呼ばれるトークン化された表現に格納されます。解析された式は、実行時に表示およびユーザー編集用にテキスト式に変換されます。セルの数式は Formula レコードによって指定されます。配列数式は、Array レコードによって指定されます。共有数式は、ShrFmla レコードによって指定されます。
チャート
チャート シートは、チャート、データまたはデータ セット間の関係を視覚的な形式で表示するグラフィック、チャート データ キャッシュ、チャート データで使用されるデータのローカル コピー、または外部へのリンクが見つからない場合を指定します。データソースが壊れています。グラフは、1 つまたは 2 つの軸グループ、グラフ データがプロットされる一連の軸、およびグラフで指定された一連の系列、トレンドライン、およびエラー バーを指定します。各軸グループは、データの表示に使用される視覚化のタイプを指定する 1 ~ 4 つのチャート グループを指定します。各シリーズ、トレンドライン、およびエラー バーは、関連付けられているグラフ グループを指定します。
メタデータ
メタデータは、特定のセルまたはそのコンテンツに関連付けられた追加データです。メタデータは、将来の拡張目的でのみ BIFF8 に記録されます。
#### ピボットテーブル ####
ピボットテーブルは、ソース データを要約して、そのデータの分布の概要を把握するためのメカニズムです。ピボットテーブルでは、ソース データの該当する列が、データの集計に使用できるフィールドになります。ピボットテーブルのソース データが OLAP ソース データの場合、OLAP 階層およびその他の OLAP エンティティはピボットテーブルのフィールドになります。 ピボットテーブルには、ピボットキャッシュとピボットテーブル ビューという 2 つの主要部分があります。単一の非 OLAP PivotCache に基づく複数のピボットテーブル ビューが存在する場合があります。
スタイル
この概要では、シート (1) 内のセルの書式設定および保護情報を指定する方法について説明します。セルの書式設定は、いくつかのプロパティ セットで構成されます。
- フォント プロパティ (ボールド、イタリック、フォントの色、フォント サイズなど)
- 塗りつぶしのプロパティ (前景色、背景色、パターン、グラデーションなど)
- 配置プロパティ (左、中央、右揃えなど)
- 境界線のプロパティ (左、右、上、下、太いまたは細い、色など…)
- 数値のフォーマット プロパティ (日付、時刻、小数点以下の桁数など)
- 保護プロパティ (ロック、非表示など)
これらのプロパティは、全体として、特定のセルがどのように表示および印刷されるかを記述します。