该文将主要介绍如何通过密码加密保护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);
}
}