Free Support Forum - aspose.com

Aspose.Cells for Java 21.1でCellsException: Permission is required to open this file.が発生

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はアカウントにファイルを開く権限があるかどうかを確認します。