Excelファイルを作成していますが、これは読み取り専用にする必要があります。これを行うには、私は新しいシートを追加するたびに (sheetName).getSettings().setProtected(true);
を使用します。管理者権限を持つJavaで作成されたExcelファイルへのアクセス権
だけ誰かがファイルへのフルアクセスを取得し、その利用者を確認した後、私は管理者権限を持つことができます。 (workbookName).getSheet(0).getSettings().setProtected(false);
管理者権限を持つ誰かがファイルを開いた後、それは読み取り専用ではないもはやです普通のユーザーがそれにもう少し多くのコンテンツを追加するまで - .getSettings().setProtected(true);
つまり、管理者がファイルにアクセスした後、管理者以外の人がファイルを変更した後に、ファイルを変更することができます。私はそれを回る方法を手がかりにしていない、多分あなたは私を助けることができる?
--EDIT--
ユーザーは、Excelファイルにデータを追加する情報ファイルを用いて細胞を充填している - ワークブックを読み、コピー、いくつかの情報を追加し、書き込み、クローズワークブック。管理者以外のユーザーは、直接追加したものがそこにあるかどうかを確認したり、他のユーザーが追加したものを見ることができますが、ファイル内の何かを変更することはできません。
これは、ユーザーにデータを求めてからファイルにセルを追加するウィザード形式のアプリケーションです。データを追加する方法の1つはhereです。このファイルは、ユーザーから個人情報を収集します。このアプリはデータにアクセスするのではなく、データの追加にのみ使用されます。ユーザーは出力をダブルクリックするだけで直接ファイルにアクセスでき、データを表示することができます。管理者はファイルを変更できますが、他のユーザーはファイルを変更できません。
http://stackoverflow.com/questions/2609301/password-protected-excel-fileワークシートをループする方法を示します。管理者以外のユーザーの問題を解決するには、ファイルを開くたびに保護を設定します(アクセスレベルに応じて真/偽)。 –
リンクをありがとう、シートをループして並べ替えました。しかし、アクセスの問題に関するあなたの提案に関して、私はそれをどうやって行うことができないのか分かりません。私はファイルが変更されるたびに保護を設定します(管理者以外のユーザーが変更した場合は 'true、管理者が変更する場合は' false ')。問題は、管理者が保護を 'false'に設定した後で、管理者以外がファイルを読み取り専用にする' true'に戻す前に、ファイルを開いて変更することができるということです。 – Hurdler
管理が完了したことが分かっている場合は、その時点で保護を再度有効にすることができます –