FAQ

Share on Facebook
はてなブックマーク - FAQ
このエントリーをはてなブックマークに追加

良くある質問

質問 回答
大きなファイルを扱うとメモリー不足のエラーがでます。 Excel_Reviserは、EXCELのバイナリーデータ内の各データを分解して変数に格納した後に、修正して再構築する処理を全てメモリー上で実行しています
そのため、扱うファイルサイズに比較してかなり大きなメモリーを消費します。データ内容にもよりますが最終的に出力するファイルサイズのの200倍以上のメモリーが必要な場合も多々有ります。特に現段階では、処理の効率よりもデバッグのしやすさを優先してコーディングしていますのでご了承ください。(詭弁です。実際は能力不足です・・・・)
php.ini内のmemory_limitの値を許容できる範囲内でできるだけ大きく取ってください。   機能を削減し、メモリ使用量と処理速度を向上したLite版は現在テスト中です
大きなファイルを扱うとすぐにタイムアウトしてしまいます。 スクリプト言語でバイナリーデータを処理していますのでMS-EXCEL自体と同等の処理時間では困難です。
特に文字データの多いものは非常に時間がかかる場合があります。
時間が問題となる場合は、POIやCOM等のご利用もご検討ください  機能を削減し、メモリ使用量と処理速度を向上したLite版は現在テスト中ですVer0.23β1以前を利用しており、小さなテンプレートでも発生する場合は、magic_quotes_runtime = Off にしてください
画像を追加したいのですができますか Excel_Reviserではできません。そのメソッドが有りません。
Spreadsheet_Excel_Writerを利用すれば可能です。
BIFF5形式画像での暫定対応(0.23b1以降)はしていますが、テンプレートによっては表示できません。本来のレコード形式ではないため、テンプレートに正規の画像が組み込まれているとBIFF5形式の表示ができなくなります
WEBアプリケーションの開発を請け負っています。製品にreviser.phpを組み込みたいのですが制限は有りますか。 従来よりGPL(General Public License)ライセンス 2.0で配布しています。このライセンスに規定されていることに反しない範囲でのご利用は可能です。当然 *無保証*であることに注意してください。著作権を侵害しない範囲でのご利用に問題ありません。
今のところLGPLでの配布ではないのでその点は注意してください。
 あなたの作成したプログラムにこのライブラリーを組み込んだとしても、このライブラリー自体はGPLライセンス(またはその後継ライセンス)下で提供されなければなりません。
もっと利用者を増やすために色々な場所で紹介などをしないのですか。あるいは紹介しても構いませんか。  ユーザの方々が紹介していただくことは構いません。むしろ、良い点や悪い点などのご利用時の感想を開示していただくことは歓迎します。開発メンバーの励みにもなります。
 ただ、我々(コアメンバ)自身は下記理由により特定のサイト以外での紹介はしていません。今後も積極的に宣伝する予定も有りません。            

  • このプログラムの動作環境を一般の方々が保有している例は少ないため、ユーザがそれほど多いとは考えていない。
  • このプログラムはBIFF8(EXCEL97~2003)しか対応していないが、今後主流のEXCEL2007以降はBIFF8とは互換性が無いため、利用者が拡大するとは考えられない
  • 本当に有用なソフトならば、時間は掛かるかもしれないがユーザの口コミで広がるのでは、
生成されたファイルを閉じようとすると「xxxxx.xlsへの変更を保存しますか?」のダイアログがでてしまいます。 仕様です。ユーザ定義式を含む場合は、必ず初回オープン時のみ上記表示がでます。気になる場合はユーザ定義式を含まないテンプレートをご利用ください。
addString等で文字を追加すると文字化けする場合が有ります。 文字化けには色々な原因が考えられます。
全ての全角文字で文字が化ける場合:
 使用している環境での文字セットとExcel_Reviserに設定した内部文字セットの不一致の可能性が有ります。その場合は、setInternalCharsetメソッドで文字セットを正しく設定してください。NEC拡張文字(①や㍼ など)、IBM拡張文字(驎や髙 など)が化ける場合:
 EUC等一部の文字セットには、これらの拡張文字自体が存在しないものがあります。これらを使用した場合不定の文字列に化ける可能性があります。拡張文字自体を使用しないか、あるいは eucJP-win,SJIS-win,UTF-8等の文字コードを使用してください。但し、外字領域などは対応不可
 Excel_Reviser内部では最終的に、ユニコード(UTF-16LE)に文字を変換していますので、mbstring関数で、ユニコードに変換する際に拡張部分が対応していないコードも化ける場合が有ります。(全ては確認していませんので、各自でお願いします)使用する文字が不定のため文字化けが心配な場合は、書きこむ元データを全てユニコードで管理し、Excel_Reviserもユニコードを設定してから使用してください。
addStringを利用してセルに改行を含む文字を追加しても Excelで改行表示されない。 【原因】
 セルの書式において、[配置]タグ内の’折り返して全体を表示する’にチェックが入っていないと、改行文字があっても改行表示されないのはEXCELの仕様です
【対策】
方法1.テンプレートにおいて改行を含む文字列を入れるセルは、’折り返して全体を表示する’を有効にしておく
方法2.未使用のセルに’折り返して全体を表示する’を有効にしたセルをテンプレート上に用意しておき、改行を含む文字をaddStringで入力する場合に、上記セルを参照設定する
Excel_Reviserを実行すると“Notice”の警告が表示されて正しいExcelファイルを出力しません サーバー環境によっては、Noticeレベルの警告が発生します。原因は、明示的な初期化をしないで使用している変数がある為の警告です。
対処方法としては、php.ini で error_reporting = E_ALL & ~E_NOTICE  とするか reviser実行部の前にerror_reporting(E_ALL ^ E_NOTICE); を入れてください
それでも直らない場合は、bitデータ処理が当方と異なる環境で実行されている可能性があります。その場合は、サポートフォーラムにて実行環境をお教えください
テンプレートに関数やユーザ定義式を追加したいのですが可能ですか 現行のExcel_Reviserでは対応しておりません
一部開発メンバーで独自にその機能を追加して利用されている方はいますがExcel_Reviserとは異なるライセンスのモジュールと組み合わせる必要が有る為当サイトからは配布しておりません。

(コメント オフ)