Aspose.Cells for Java 21.1にバージョンアップしたのですが、
本番環境での運用において、Excelファイル(パスワード保護無し)を読み込んだところ、
new Workbookコマンドの発行時に、
com.aspose.cells.CellsException: Permission is required to open this file.
が発生し、処理が異常終了したため、想定される原因をご教示願います。
LoadOptions lo = new LoadOptions(FileFormatType.XLSX);
lo.setPassword(”PASSWORD”);
lo.setMemorySetting(MemorySetting.MEMORY_PREFERENCE);
fStream2 = new FileInputStream(“FILENAME”);
Workbook workBook = new Workbook(fStream2, lo);
なお、同一のフォルダ構成・権限を持つ別のサーバで、同一のファイルを用いて再度同一の処理を実行したところ、
エラーは発生せず、正常にファイルを開くことが可能でした。
上記を踏まえ、
・一般的に上記エラー(Permission is required)が出力される条件
・今回の事象について、想定される原因やナレッジがあれば、その原因
をご教示いただきたいと存じます。
@kikuchikn_nttdata_co_jp,
ファイルからすべてのデータをbyte []に読み込んでから、WorkbookAPIによってロードされるByteArrayInputStreamをビルドしてみてください。 同じ例外が見つかった場合は、問題を評価して把握するためのテンプレートファイルが必要になります。 プログラムにはファイルからデータを読み取る権限がないため、例外はJavaのIO API自体が原因であるように見えます(Aspose.Cells APIとは関係ありません)。
PS。 ここに添付する前に、Excelファイルをzip形式で圧縮します(Aspose.Cells APIで問題が発生した場合)。
ご回答ありがとうございます。
すみませんが、既に本番運用の始まっているアプリケーションであり、
改修が容易でないため、AP改修をするにしても原因を特定する必要があります。
そのため、追加の確認をさせてください。
【前提】
今回、Aspose.Cells for Javaは19.2→21.1にバージョンアップをしています。
リリースノートを確認したところ、今回発生している、
com.aspose.cells.CellsException: Permission is required to open this file.
は、20.10で新規に追加されたExceptionTypeが発生した場合に出力されるメッセージと認識しました。
【質問事項】
① 一般的に上記エラー(Permission is required)が出力される条件をご教示ください。
② 本システムではExceptionType.FILE_FORMAT、ExceptionType.IOが発生した場合は、
リトライを促す仕組みになっています。
20.10以前でExceptionType.FILE_FORMATまたはExceptionType.IOが発生する条件だったものが、
20.10以降はExceptionType.PERMISSIONに振り分けられるようになった条件があればご教示ください。
以上、よろしくお願いいたします。
@kikuchikn_nttdata_co_jp,
クエリの詳細については、間もなくお知らせします。 しかし、以前に要求されたように、ファイルからすべてのデータをバイト[]にロードしてから、ByteArrayInputStreamをビルドしてから、Workbook APIによってロードしようとしましたか? 最後の結果はどうなりますか?それでもAspose.Cells APIによる例外を見つけましたか? もしそうなら、これは確かにAspose.Cellsの問題であり、私たちはそれを調べることができます。
ご回答ありがとうございます。
大変申し訳ございませんが、
「クエリの詳細については、間もなくお知らせします。」
の回答をお願いいたします。
本番環境での運用において、
Permission is requiredのエラーが本日も頻発しております。
上記エラーについて、出力される条件と
20.10以前でExceptionType.FILE_FORMATまたはExceptionType.IOが発生する条件だったものが、
20.10以降はExceptionType.PERMISSIONに振り分けられるようになった条件について、
日本時間 2021/4/23 午前9:00までに回答をお願いいたします。
@Susumu_Ogura
この種のファイルの問題を明確にするために、2020年9月末からExceptionType.Permission例外タイプを追加しました。
恐れ入りますが、質問の趣旨が違います。
我々と致しましては、導入契機を知りたいのではありません。
「com.aspose.cells.CellsException: Permission is required to open this file.」の出力条件が知りたいです。
本番環境で「com.aspose.cells.CellsException: Permission is required to open this file.」が発生しており、
お客様からも迅速な対応を求められております。
このメッセージが出力される条件をご教示ください。
また、その際にはExceptionType.FILE_FORMAT、ExceptionType.IOが出力される条件との違いを明確にお願いいたします。
先にも記載致しましたが、お客様から迅速な対応を求められているため、
日本時間 2021/04/23 午前9時までに回答をお願いいたします。
@Susumu_Ogura,
この情報を分析しており、フィードバックをまもなく共有します。
@Susumu_Ogura
これらのドキュメントはIRM(Information-Rights- Management)で制限されています。
これらのファイルをExcelで開くと、Excelはアカウントにファイルを開く権限があるかどうかを確認します。そうでない場合、Excelは、Excelログインアカウントを変更するか、指定した電子メールアドレスに権限を申請するように求めるメッセージボックスをポップアップ表示します。
@simon.zhao
ご回答ありがとうございます。
IRMで保護されたドキュメントを、復号(IRMの解除)をしないままAspose.Cellsで開こうとすると、Permissionエラーが発生するということでよろしいでしょうか。
お手数ですが、ご確認のほどお願いいたします。
@kikuchikn_nttdata_co_jp,
はい、Aspose.CellsAPIを使用してファイルを読み取るときに例外がスローされることを期待しています。 これは、ファイルを開いたときのMS Excelと同じ動作であり、MSExcelはアカウントにファイルを開く権限があるかどうかを確認します。