しるく

SYLK ファイル形式 (*.slk) って知ってます? Microsoft Excel で開けるファイル形式の一つなんですけど。私は初耳でした。
SYLKファイル(.slkファイル)とは - IT用語辞典 e-Words

Microsoft社のMultiplanに採用されていたものが事実上の業界標準として広く普及したもの。

e-words に従えば、MS-DOS 時代の Multiplan という表計算ソフト*1で使われ普及したそうですが、元から表計算ソフトの標準フォーマットとして作られたという説もありますね。
以下、http://www.ht-net21.ne.jp/~hit-o/Mp01.html より引用。

実はこの保管形態が万国共通の Data File 形態です。この Data File 形式が制定されたのも、あらゆる SoftWare で読み書き可能な共通の Data File を作ろうという呼び掛けから始まったものですから、当然互換性のある Data File の形式になりました。この Data File の読み込み・保管モードを持っていない SoftWare は世界の孤児だという事であり、その様な SoftWare は存在しないと思います。

それが幸か不幸かはともかく、今は世の中 Excel 1本なので、このような標準フォーマットの必要性がほとんどないのですが。

なぜ今 SYLK かというと?

前提は、JavaServlet/EJB)による Web 系システムです。要件として、帳票ファイルを Excel ファイル形式でダウンロードしようとしています。
現環境で、Java による Excel ファイルの読み書きは困難*2ですが、CSV ではスタイルや式情報の保存ができないのです。

したがって、プレーンテキストとして編集でき、かつ Excel で読めて式・スタイル情報を残せるので SYLK に白羽の矢が立ったのでした。

SYLK フォーマットについて

Web Page is Unavailable というファイルフォーマットについての解説を網羅したサイトがあり、SYLK についてもダウンロードできます(英文)。一緒にこのへんから実際の SYLK ファイルを落として見るといいかと思います。

MS Excel サポートページには Excel がサポートするテキストファイル形式の1つとして紹介されています。

全部 Excel でやりたい人は

サーバ側にあらかじめ実行したい VBA マクロ処理を含めた Excel ブックと CSV ファイルを ZIP で固めておき、クライアントで DL して Excel ブックを開いた瞬間にマクロが自動起動CSV 読込っていう荒業もあるんですがね。

*1:http://www.saga-ed.jp/workshop/edq01449/T98Next/T98Next.htm上で起動しているスクリーンショットがありました。

*2:気軽にライブラリを追加できる環境なら、POI や JExcelApi を使うかもしれません。