目的はメールで送信されてくるExcelファイルの内容をPostgreSQLにインポートするためですが、これを実現する手段はあるでしょうか?
(サーバは自前ですのでコマンドラインツールのインストールは可能ですが、Javaは不可です)
http://www.vector.co.jp/soft/unix/net/se328459.html
実用すくりぷとん xexcel(UNIX / インターネット&通信)
Spreadsheet_Excel_ReaderがNGであれば、Perlで上記のスクリプトが参考になりませんか?
【上記Perlが仮にHTMLでも上手く動作するとして】
HTMLへ変換できれば、煩わしいですが、そこからcsvへテキスト処理を施す方法。
または、上記Perlを解析して、直接csvへ落とせるように変更する方法。
→ xexcel.cgiのOUTPUT_HTMLを変更するだけでイケそうです。
※動作確認できない上、超ザク読みで、ちょっと無責任な回答になってしまいますが・・・
PHP+EXCEL
Perlをお勧めしたのは、上記URLにて、Spreadsheet_Excel_Readerには課題として、
2バイトコード(or マルチバイト)に未対応のような記述を見つけたためです。
nomocho さんが試された際のエラーメッセージも気になりますね。
上記URLの「■ PHPでエクセルファイルを読む!」が参考になるかと。
http://oss.kk-ntc.co.jp/jpug/pukiwiki/pukiwiki.php?PHP%2FCSV%C6%...
PHP/CSV入出力(EXCEL) - JPUG新潟
1つ目では、csvには触れていません(といっても行/列でセルの値が取得できるのであとはファイル出力するだけですが・・・)
ので、一応csvの入出力のページも紹介します。
csv化されれば、Postgreへのインポートは問題ないんですよね?
早速Spreadsheet_Excel_Readerをダウンロードしてテストしてみましたが、読み込めるのは簡単なExcelシートだけみたいですね。
こちらの読み込ませたいシートは全てエラーになるか全く読み込まれないかでだめでした。
原因はわかりませんが、とりあえずソースコードを読んでみます。
ありがとうございます。
(読み込みさえできればcsvへのエクスポートは問題ないです)