该文将主要介绍如何通过密码加密保护Excel 工作簿,Excel工作表和锁定Excel工作表某些行与列的编辑。
保护工作薄
Spire.XLS for Java提供方法workbook.protect() 来使用密码保护工作薄,读者需要输入密码才能打开工作薄。
import com.spire.xls.*;
public class EncryptWorkbook {
public static void main(String[] args) {
//加载示例文档
Workbook workbook = new Workbook();
workbook.loadFromFile("Sample.xlsx");
//使用密码加密保护
workbook.protect("eiceblue");
//保存文档
workbook.saveToFile("output/EncryptWorkbook.xlsx", ExcelVersion.Version2010);
}
}
效果图:
仅加密第一个工作表
import com.spire.xls.*;
import java.util.EnumSet;
public class ProtectWorksheet {
public static void main(String[] args) {
//加载示例文档
Workbook workbook = new Workbook();
workbook.loadFromFile("Sample.xlsx");
//获取第一个工作表
Worksheet sheet = workbook.getWorksheets().get(0);
//使用密码加密保护
sheet.protect("TestPassword", EnumSet.of(SheetProtectionType.All));
//保存文档
workbook.saveToFile("output/ProtectWorksheet.xlsx", ExcelVersion.Version2010);
}
}
锁定某些区域不可编辑
import com.spire.xls.*;
import java.util.EnumSet;
public class ProtectCell {
public static void main(String[] args) {
//加载示例文档
Workbook workbook = new Workbook();
workbook.loadFromFile("Sample.xlsx");
//获取第一个工作表
Worksheet sheet = workbook.getWorksheets().get(0);
//保护行与列
sheet.getCellRange("B3").getCellStyle().setLocked(true);
sheet.getCellRange("C3").getCellStyle().setLocked(false);
//密码加密保护工作表
sheet.protect("TestPassword", EnumSet.of(SheetProtectionType.All));
//保存文档
workbook.saveToFile("output/ProtectCell.xlsx", ExcelVersion.Version2010);
}
}