NPOI 只读设置为 excel

NPOI set readonly to excel

有没有办法使用 NPOI 生成工作簿,除非保存新副本,否则不允许用户编辑工作簿?

基本上我想生成一个只读文件excel,并且用户在共享网络驱动器上访问它们时打开它们时不会发生冲突。

P/S:我不是在寻求password保护。

var wb = new XSSFWorkbook();
var sheet = wb.CreateSheet("Sheet1");
sheet.CreateRow(0).CreateCell(0).SetCellValue("Hello World");

wb.SetReadOnly(true);//Something like this?

您不需要使用 NPOI 库

为目录中的所有文件设置安全权限

var directory = new DirectoryInfo(folderPath);
foreach (var file in di.GetFiles("*", SearchOption.AllDirectories))
{
 File.SetAttributes(folderPath, FileAttributes.ReadOnly);
}

或特定文件

File.SetAttributes(folderPath, FileAttributes.ReadOnly);

只读是文件的属性

File.SetAttributes("workbook.xlsx", FileAttributes.ReadOnly);