Java POI でパスワード保護されたExcelを読むとエラー
エラーの内容
他サイトさんを参考にして、Java POI を利用し、パスワード保護された Excel ファイルを読もうとした人は、こんなエラーを目にするかもしれません。
org.apache.poi.EncryptedDocumentException: Export Restrictions in place - please install JCE Unlimited Strength Jurisdiction Policy files
私は何度も同じメッセージを見てきたのに、対処法を忘れて都度ネットで調べて同じ対応をして・・・を繰り返してきました。
自分がわかればいいようにしか書いていませんが、ご容赦ください。
メッセージの内容は、要するに読んだ通りですが、
JCE Unlimited Strength Jurisdiction Policy Files をインストールしたまえよ
と言っています。
対処
- Googleで「JCE Unlimited Strength Jurisdiction Policy Files」で検索
- Oracleが提供しているページで、以下のように末尾にJDKバージョン番号がついたページがヒットします。
※ 執筆している現在ではそのようにヒットしますが、時間とともにヒット内容が変わるかもしれません- JCE Unlimited Strength Jurisdiction Policy Files 6
- JCE Unlimited Strength Jurisdiction Policy Files 7
- JCE Unlimited Strength Jurisdiction Policy Files 8
- 環境に合わせたファイルをダウンロード
※ 私の場合は 8 のついたものをダウンロードした。 - Java8用のものを例に、ダウンロードしたファイルを展開すると、以下のようなファイル構成。
- jce_policy-8
- UnlimitedJCEPolicyJDK8
- local_policy.jar
- README.txt
- US_export_policy.jar
- UnlimitedJCEPolicyJDK8
- jce_policy-8
- local_policy.jar, US_export_policy.jar を、そのプログラムが使用しているJREに上書き
- Eclipseを使用して実行している場合は、Eclipseインストールフォルダ内のJREを参照しているでしょうし、
単体でインストールしたJREを参照しているならそこに上書きです。
※ これはすいません、あなたの環境のことはあなたにしか分からないので、頑張って探してください。
- Eclipseを使用して実行している場合は、Eclipseインストールフォルダ内のJREを参照しているでしょうし、
- 終了
この投稿へのトラックバック
トラックバックはありません。
- トラックバック URL
この投稿へのコメント