Microsoft Excel では、特定のセルをロックすることで、他のユーザーがセル内のデータや数式を勝手に変更することを回避できます。この記事では、Spire.XLS for Java を使用して Excel で特定のセルをロックする方法を紹介します。
Spire.XLS for Java をインストールします
まず、Spire.XLS for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls</artifactId>
<version>13.1.3</version>
</dependency>
</dependencies>
Excel で特定のセルをロックする
通常、シート内のすべてのセルはロックされます。したがって、特定のセルまたはセル範囲をロックする前に、すべてのセルのロックを解除してください。ただし、シートが保護されるまで、セルのロックは有効になりません。Excel 内の特定のセルをロックする詳細な手順は次のとおりです。
- Workbook クラスのインスタンスを作成します。
- Workbook.loadFromFile() メソッドを使用して Excel ファイルをロードします。
- Workbook.getWorksheets().get(sheetIndex) メソッドを使用して特定のシートを取得します。
- シートに特定の範囲にアクセスします。
- XlsRange.getStyle().setLocked() メソッドを使用して すべてのセルのロックを解除します。
- 特定のセルにアクセスし、XlsRange.getStyle().setLocked() メソッドを使用してセルをロックします。
- XlsWorksheetBase.protect() メソッドを使用してワークシートを保護します。
- Workbook.saveToFile() メソッドを使用して結果ファイルを保存します。
- Java
import com.spire.xls.*;
import java.util.EnumSet;
public class LockCells {
public static void main(String []args){
//Workbook クラスのインスタンスを作成 する
Workbook workbook = new Workbook();
//Excelファイルをロードする
workbook.loadFromFile("Input.xlsx");
//最初のシートを取得する
Worksheet sheet = workbook.getWorksheets().get(0);
//シートにすべてのセルのロックを解除する
CellRange usedRange = sheet.getRange();
usedRange.getStyle().setLocked(false);
//特定のセルをロックする
CellRange cells = sheet.getRange().get("A1:D1");
cells.getStyle().setLocked(true);
//シートをパスワードで保護する
sheet.protect("123456", EnumSet.of(SheetProtectionType.All));
//結果ファイルを保存する
workbook.saveToFile("LockCells.xlsx", ExcelVersion.Version2016);
}
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。