Search jakarta

Hacking HSSF

○○機能のドキュメントはどこで見つかりますか?

'Excel 97 Developer's Kit'(絶版中。Microsoft Press 出版。制限的約款なし。Amazon.comで入手可能)が、ファイル形式を理解する上で役に立つ事がわかるでしょう。

また、OpenOfficeにおけるXLSの仕様もまた有益です。われわれは、この仕様書の管理者とコラボレーションをとっていますので、この仕様書に何かしらの変更・追加をしたいと思われたなら、それを送ってください。

○○機能のドキュメントがどこにも見当たらない!

  1. OpenOffice.orgあるいはGnumericのソースをご覧ください(もし、実装されていればですが)。
  2. org.apache.poi.hssf.dev.BiffViewerを使って、ファイルの構造を眺めてみてください。一度につき1つの判定基準項目となるようなものを加えることによって、実験を行ってみてください。そして、その変化(追加)がどのように構造に影響するかを理解し、振る舞い及び構造を推測してみてください。 unixのdiffコマンド(Windowsユーザであれば、www.cygwin.comからcygwinを入手して)を使えば、非常にすばやく多くのことを理解する事ができるでしょう。実装されないレコードは、'UNKONWN'として表示され、hexのダンプが吐き出されるでしょう。

低レベルのレコード生成

低レベルのレコードは、生成するのに時間が費やされてしまいます。我々は、単純なタスクのものを生成する補助となるレコードジェネレータを作成しております。

我々は、低レベルのレコード用に、XML記述子をJavaコード(元々使っていたPerlスクリプトなんてクソくらえだ!)生成の際に使用しています。ジェネレータは現在、ある意味「アルファバージョン」で拡張可能なので、作業のうちの約1/2でしかないとわかるでしょう。これは、org.apache.poi.hssf.record.definitionsにあると覚えて措いてください。

注意(重要)

一点重要な事:もし、多大なコードに関する投稿を行っている場合、我々は(全ての参加者に)その過程に於いてMicrosoft社と"Non Disclosure Agreement"(機密保持契約)を交わしていないことを確認しなければなりません。また、それらの契約に包含されるいかなる情報も受け取っていないことを確認しなければなりません。もし上記のようなことがあれば、POIプロジェクトに参加することは其の人たちはできません。多大なる貢献のため、我々は貴方に合意文書にサインするようお願いすることがあるかも知れません。

何から手をつければ?

TODOリストをチェックしてください、あるいは、単に欠けている機能を探すだけでもかまいません。小さく初めて徐々に上に登っていってください。

他に何か知っておく必要がありますか?

しっかりと、参加するには?のセクションをご覧になってください。というのも、一般的なPoiへの投稿に関する情報以上のことが書かれていますから。

by Glen Stampoultzis, Andrew Oliver
Original English Page would be found from HERE     --    BBS/ApacheNews
Terra-International, Inc. -- テラ・インターナショナル
Special Thanks -- 【お問い合わせ/テキスト広告】