```
public static void Test()
{
var wb = new XSSFWorkbook();
var s0 = wb.CreateCellStyle();
s0.IsLocked = true;
var s1 = wb.CreateCellStyle();
s1.IsLocked = false;
var ws = wb.CreateSheet();
var r0 = ws.CreateRow(0);
var c0 = r0.CreateCell(0);
c0.SetCellValue("已锁定");
c0.CellStyle = s0;
var c1 = r0.CreateCell(1);
c1.SetCellValue("未锁定");
c1.CellStyle = s1;
ws.ProtectSheet("123");
var fn = Path.ChangeExtension(Path.GetTempFileName(), "xlsx");
using (var ms = File.OpenWrite(fn)) wb.Write(ms);
Process.Start(fn);
}
```
生成的xlsx文件中的两个单元格均不能编辑,在Excel里看到的“设置单元格格式->保护->锁定”都是被勾上的。
NPOI 2.1.3 版本。
HSSF里面这个功能正常。
public static void Test()
{
var wb = new XSSFWorkbook();
var s0 = wb.CreateCellStyle();
s0.IsLocked = true;
var s1 = wb.CreateCellStyle();
s1.IsLocked = false;
var ws = wb.CreateSheet();
var r0 = ws.CreateRow(0);
var c0 = r0.CreateCell(0);
c0.SetCellValue("已锁定");
c0.CellStyle = s0;
var c1 = r0.CreateCell(1);
c1.SetCellValue("未锁定");
c1.CellStyle = s1;
ws.ProtectSheet("123");
var fn = Path.ChangeExtension(Path.GetTempFileName(), "xlsx");
using (var ms = File.OpenWrite(fn)) wb.Write(ms);
Process.Start(fn);
}
```
生成的xlsx文件中的两个单元格均不能编辑,在Excel里看到的“设置单元格格式->保护->锁定”都是被勾上的。
NPOI 2.1.3 版本。
HSSF里面这个功能正常。