Office Open XML

Office Open XMLファイル形式に関する話。特にExcelについてのもの。
Office 2007から標準のファイル形式がOffice Open XMLファイル形式になった(Word、ExcelPowerPoint)。
Office Open XMLファイル形式はEcma InternationalとISO/IECによって標準化された*1
Ecma Internationalでは次のページからダウンロードできる。[Standard ECMA-376]。"ECMA-376 2nd edition is technically aligned with ISO/IEC 29500."とあるから、第2版の方をダウンロードするといいのじゃないだろうか。
ISO/IECでは次のページからダウンロードできる。[Publicly Available Standards]。一部、リンクが間違っているけれども、 http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html のあるディレクトリーの内容を見られるので問題ないかと思う。ISO/IEC 29500はEcma Internationalよりも後で標準化されたため、第1版とあるけど、中身は"ECMA-376 2nd edition"と同じ*2
複数のXMLファイルをzip形式の書庫としてまとめている。このzipファイルの作り方(特殊な情報を持たせるXMLファイルの命名方法とか)は、OPC(Open Packaging Conventions)と呼ばれるもので、Office Open XMLファイル形式の仕様に含まれる。
ためしにExcel 2007で"hoge.xlsx"といった文書を作り、zip展開ソフトウェアを使って展開し*3、再度、zip書庫を作るファイルで展開後のファイルをまとめて圧縮すると、Excel 2007で開けるファイルになる*4
仕様にそったXMLファイルを手書きして、zipファイルとして圧縮したら(拡張子はそれぞれのアプリケーション用のものにしておく)、Office文書になる。

*1:ちょっと言い回しが間違っている気がするけど、おいとく。

*2:自分が見たのは少しだけで、そこは体裁などは違うけど、内容は同じだった。ほかも同じだろう。たぶん。Ecmaのほうに"ECMA-376 2nd edition is technically aligned with ISO/IEC 29500."ともあるし。

*3:Windows(XPからだっけ?)だと、拡張子がzipのファイルの中身を見られる機能が最初からあるから、拡張子を変えてやれば、展開することができる。

*4:書庫内の階層構造などは、当然、元ファイルと同じでなければならない。