背景として、com.jexcel.util.ExcelAdapterを使用して、jasperreportsで生成された Excel ファイルをパスワードで保護しています。これは現在、Windows で実行すると問題なく動作しますが、Linux サーバーで Java コードを実行するとエラーが発生します。
それは言います:
java.io.IOException: Cannot run program "cmd": java.io.IOException: error=2, No such file or directory
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at com.jexcel.util.ExcelAdapter.setPasswordXlsFile(ExcelAdapter.java:65)
助けてください。を使用して、Linux コンソール経由でコードを実行していますjava -jar PassProtect.jar
私はこれらのリンクを見つけました:
パスワードで保護された Java の xls/xlsx ファイル
Apache poi を使用してパスワードで保護された Excel ファイルを作成しますか?
どちらも、Apache POIもJExcel Apiも、既存の Excel ファイルをパス保護する機能を持っていないと述べていました (それらにできることは、Excel シートを書き込み保護することだけです)。その悲しい事実を私はすでに知っていた。:(
com.jexcel.util.ExcelAdapterは実際に私のためにトリックを行いました。実際にワークブック全体をパス保護できます (Linux サーバーでコードを実行する必要がない場合は、これを使用してみてください。 Windows で)。それが問題です。Linux でコードを実行する必要がありますが、上記で説明したように、ExcelUtil では実行できません。ExcelUtil のようなもので、代わりに Linux で動作するものを知っていますか?
Asposeのような商用ソフトウェアを使用できません。Excelファイルをftpサーバーに転送する必要があり、メールで送信する必要があるため、代わりにパスワードで保護されたzipファイルにファイルを保存することもできません.zipファイルに保存する場合、これは不可能です( zip ファイル自体を送信または転送することはできません (受信者は .xls ファイルを予期しているため)。
私を助けてください。Linuxが受け入れるファイルをパスワードで保護できる方法、API、またはサンプルコードはありますか? 現時点では、アイデアが不足しています (検索結果はすべて同じことを言っています)。