Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

POI3.6によるExcelダウンロードでの問題

現在、POI3.6を利用して、LinuxサーバからExcelをダウンロードしようとしています。
その際、問題が2点発生したのですが、調べてみても原因が分からなかったので質問させて頂きました。
問題は、以下の2点です。

1:ファイルサイズが倍程度に大くなる
 ダウンロードした直後のExcelファイルのサイズが、
 非常に大きくなってしまいます。
 一度開いてから保存すると小さくなります。
 (例:10M→4M)
 値の埋め込み以外にも、線を引いたり、
 色を付けたりしているからでしょうか?

2:直接ダウンロードしたExcelを開くとロックされる
 サーバからダウンロードしたExcelを、
 「保存」ではなく「開く」で開いた場合に、
 自分自身やサーバが開いているため、
 「読取り専用で開きますか?」というメッセージが
 常に表示されてしまいます。


対処方法が分かる方は、ご教授お願い致します。

6

回答

7250

閲覧

6件の回答

評価

0

1:
ExcelとPOIじゃ、作ってる人が違うんだから、
仕方がないんじゃないの。

2:
「作業用の領域に一時的に保存してるけど、
 改めて保存したけりゃ、場所は自分で指定しろ」
ってだけの事でしょ。
これは、POIじゃなくて、ブラウザの仕様によります。

評価

0

サーバで作ったExcelファイルをDLした時の事をはなしてんだよね?

ちょっと気になったんだけどサーバで作成されたExcelファイルを
FTPかなんかでPCに持ってきて開くと1と2になんか変化あんのかな?

評価

0

Excelって、同じ形式でも2003までとそれより後とで、だいぶファイル
サイズが違うよね。
昔のExcelだと大差ないファイルができないかなと思った。

評価

0

様々な意見ありがとうございました。

1に関してですが、テンプレートを使用していないので
バージョン互換等の情報が含まれているのでは?
とか考えています。
お聞きしたかったのは、同じ現象が特定の状況でのみ
発生した事なのか、ということです。

2に関しては、サーバに一時フォルダを作成して、
そこからダウンロードさせています。

評価

0

1に関してはPOI内部で新規ブックを作成した場合のBIFFレ
コードが原因かもしれません。Excelでは、保存のタイミ
ングでスタイル情報等、最適化が行われているようで、サ
イズが減ったりします。
Excelで空のxlsファイル(Excelで予め最適化さされた状態
のBook)を作成し、そのファイルをテンプレートとして、
必要な箇所をPOIで編集するようにすればサイズが抑えら
れる可能性があります。

2について
このような情報がありました。
http://support.microsoft.com/kb/417443/ja

今回の事例にマッチするか分かりませんがご参考までに

評価

0

Aさん、ありがとうございます。
解決の糸口が見つかりました。

一度、再検証してみます。
取り敢えず、?に関してはファイル名を短くして試したいと思います。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。