- - PR -
[WARNING] Unknown Ptg 60 (96)は何か?
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-11-14 16:44
始めまして。
私はこの度Java側でExcelを操作する為にjakarta-poiを使用する事となったのですが、実行時に次のログメッセージが出力されました。 [WARNING] Unknown Ptg 60 (96) HSSFWorkbookからの処理内で発生しているログだという事までは調べられ、ログを吐き出しているのがNameRecordクラスという所までは分かったのですが、この時吐き出されているログメッセージの中で、60 (96)はExcelがどんな状態の時に出されるのでしょうか? 申し訳ないのですが、ご存知でしたらお教え願いますでしょうか。 |
|
投稿日時: 2007-11-15 15:36
はじめまして kanon さん。
Ptg 0x60 が何なのかは知りませんが、POI のバージョンを最新にすることで、他の Unknown Ptg の警告が出なくなったりするそうです。 (どうでもいいですが、リンク先の投稿日はちょうど3年前の今日ですね。) この時は 2.5 から 2.5.1 に上げることで解決したようです。 現在の最新バージョンは 3.0.1 ですので、古いバージョンをお使いの場合は、最新版を試してみるのもいいかもしれませんね。 私もこの方法でなんかの警告が出なくなりました。 私には何のことかはサッパリ分かりませんでした、POI の開発者である Avik さんによると、Ptg 0x60 は "Array operand" なのだそうです。 質問者の Dmitry さんは、問題のあるシートから新しいシートに全てのセルをコピーした上で、問題のシートを削除することで対応しているのだそうです。 |
|
投稿日時: 2007-11-19 09:03
返信が送れて申し訳ありません。
お返事ありがとうございます。おかげさまで、概要を説明する分での材料を揃える事ができました。 |
|
投稿日時: 2007-11-19 14:28
また質問を載せてしまう事になって申し訳ないのですが、でゅうくさんにお答え頂いた内容の中に『Ptg 0x60は"Array operand"』であるという説明の記述があります。
私はこの一文を、Excelの中で配列数式をExcelのセル内で使用した時の記述の事だと思っていました。その理由は、配列数式を使用したExcelファイルをバイトコードで変換した際に、[ARRAY]という一文が追加されていた為です。 例.=SUM(IF(B1:B10="販売実績",C1:C10,"")) この一文をセルに入力した際に、CTRLとSHIFTを押した状態でEnterキーを入力。 セルB1〜B10までに"販売実績"と入力されている時のC1〜C10のセル内の値が合計される。 勿論結果が出力されるのは、対象のセルにデータが入力された状態でですが。 しかし、Ptg 60 (96)のエラーが出ているExcelファイル内では、どのセルの中でも配列数式を使用していませんでした。バイトコード単位で変換を行っても[ARRAY]という一文もありませんでした。 この理解が合っているのかどうかを確認を取りたいのですが、どなたかお分かりになられる方はいらっしゃらないでしょうか? 申し訳ありませんが、返答よろしくお願いいたします。 |
1