フォト
2016年9月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
無料ブログはココログ

« 妻チャリ来る | トップページ | レギュレーターを冷やす »

2012年4月25日 (水)

OLEを使わずにExcelファイルを作るには?

現在制作中の業務システムでExcelファイルへの出力という要件があって、ちょいとお悩み中。

よくやるのは、HTML出力してExcelで開くというお手軽手法。
マクロの埋め込みなんかが出来ないけど、通常はこれで足りてたのだが今回は複数、しかも任意の数のワークシートを持つExcelブックを作らなくてはならない。

こういう場合の常套手段は当該のPC上でOLE操作でExcel操作して、ってやるのだろうけど、経験上この方法は中~長期的な観点からバージョン依存の問題を含むことになる。

言語製品に付いてくるActiveXだのOLEコントロールだのを静的リンクでコンパイルするような愚行はやらないけれど、Excelファイルのデータとしての下位互換性には期待できるとしても、アプリケーションとしての現在のExcelを操作するOLEまわりの手続きについて上位互換性は怪しいとにらんでいる。

要するに、今でもExcel95あたりのファイルは開いて再利用できるけれど、現行バージョンのアプリを裏で操作するようなプログラムが5年後にも動作するのは期待薄ってこと。

そこでトライするのは、出力データをサーバーに送り、PHPで生成したExcelファイルをダウンロードするという手法。

ものすごく遠回りだけど、たとえクライアントPCにExcelがインストールされていなくても、確実にファイルが手に入るところがポイント。弱点は巨大なファイルは作れないだろうってことかな。

数日のリサーチの結果、今日からSpreadsheet_Excel_Writerを試してみることに。
サンプルを実行すると、なんともイージーにExcelファイルが出来上がってくる。

いや、待て!安心するのはまだ早い。
だいたい、こういう代物は日本語処理でつまずくもんだぞ・・・

« 妻チャリ来る | トップページ | レギュレーターを冷やす »

デジタルもの」カテゴリの記事

コメント

うちで入れたシステムは PHPExcel http://phpexcel.codeplex.com/ を使ってます。日本語ちゃんと使えます。えらくメモリ喰いだけど。

実は日本語いけるかと思ってライブラリの構築を始めたんですけど、最後の最後にこけましてね。

5/18付のblogをお楽しみに!>Wacky

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/543449/54792981

この記事へのトラックバック一覧です: OLEを使わずにExcelファイルを作るには?:

« 妻チャリ来る | トップページ | レギュレーターを冷やす »