- PR -

Excelファイルのコピー・編集について

投稿者投稿内容
Dra
大ベテラン
会議室デビュー日: 2004/10/04
投稿数: 111
投稿日時: 2004-11-12 13:06
MMXさん、ありがとうございます。

マクロを含んだファイルのセルの一部にDBの値を書き込んで
そのファイルをクライアントに送付するという形なので
わけることは出来ないのです。
マクロモジュール(.bas)を別途送付するのもいいのですが
ダウンロードした側がめんどうなので・・・
MMX
ぬし
会議室デビュー日: 2001/10/26
投稿数: 861
投稿日時: 2004-11-15 10:31
はずれ、かもしれませんが
POI(HSSF) が読み込めるように Excel シートをクリーン化する、
一つの現場的方法(迷信が半分かも)

Excelシートが修正を重ねてセルの移動複写など「絡み合い?」があると
POI の読み込みは失敗する「らしい」。

新しい白紙Bookを作り、そこにマクロ・ボタン・セル(範囲選択)などを手で
コピペして、クリーンなシートを作成すると、POI で読めるようになる(かも)。
シート全面選択でコピペすると、絡み合いもそのままコピーされる(らしい)。

245項目、1000行、全面に入力規則+書式、ボタン付きはできた
2000行では Javaの OutOfMemory エラー。
Ctrl+END キーで飛ぶ、末端のセルも遠距離にないほうがよい。
==============================
BiffViewerもやってみた
HSSF不調のほうは 130万行で BiffViewer 出力が終了してしまう
読み方がわからないので、原因は不明
正常のほうは 177万行 まで行き、[/EOF] の表示行で終了。

[ メッセージ編集済み 編集者: MMX 編集日時 2004-11-15 17:28 ]
やっくる
会議室デビュー日: 2004/07/22
投稿数: 6
投稿日時: 2004-11-15 14:56
>[WARNING] Unknown Ptg 0 (0)
>[WARNING] Unknown Ptg 30 (48)
>[WARNING] Unknown Ptg 30 (48)
>[WARNING] Unknown Ptg ffffffba (-70)
>[WARNING] Unknown Ptg fffffffc (-4)
>[WARNING] Unknown Ptg ffffffc6 (-58)
>[WARNING] Unknown Ptg ffffffa4 (-92)
>[WARNING] Unknown Ptg ffffff8b (-117)
>・
>・

こんにちわ
やっくると申します

私も今POIを使ってマクロを含んだかなりサイズの大きいExcelファイルを読み込んでいます。
で以前上と同じようなエラーがコンソールに表示されて
困ったことがあったのです
私の場合はPOIの場合はPOIのバージョンを最新にすることで
問題を解決することができました。

上記のエラーが出ていたときに使っていたPOIは
最新だと思っていた2.5でした。

ですが、さらに最新のPOIのバージョンが存在しています。
poi-bin-2.5.1-final-20040804
です

これを使ったところ
上記のようなエラーが表示されなくなり
ちゃんとExcelファイルをコピー・編集することができるようになりました。

ぜひ一度
poi-bin-2.5.1-final-20040804
を試してみられることをお勧めします
では
やっくる
会議室デビュー日: 2004/07/22
投稿数: 6
投稿日時: 2004-11-15 15:03
何度もすみません

余談ですが、
使用するExcelファイルが
実際にPOIを使って読み取れるかどうかをチェックする機能が
POIには付いています。

BiffViewerを使って調べることができます。

以下のようなものを作って
引数にExcelファイルまでのパスを与えてやると
そのExcelファイルがPOIで読み取れるものかどうかをチェックしてくれます。
Eclipseを使ってやったところ
コンソールに大量のメッセージが表示されましたが
その中でも赤い文字で表示されたところが
エラー部分で
青い文字部分は正常に処理されているところのようでした

もしよかったら
BiffViewerも試してみてください

********************
public class CheckXlsFile {
public static void main(String[] args) throws Exception {
System.out.println("start program");
BiffViewer biffViewer = new BiffViewer(args);
biffViewer.run();
System.out.println("end program");
}

}
********************
Dra
大ベテラン
会議室デビュー日: 2004/10/04
投稿数: 111
投稿日時: 2004-11-15 23:48
MMXさん、やっくるさん、返信が遅れました。
すいません。
やっくるさんと同様な現象と考えられますので、
poi-bin-2.5.1-final-20040804で一度試してみます。

色々、ありがとうございました。

スキルアップ/キャリアアップ(JOB@IT)