NPOI将只读设置为Excel

时间:2018-10-01 08:14:42

标签: c# excel apache-poi npoi

是否有一种方法可以使用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?

2 个答案:

答案 0 :(得分:1)

只读是文件的属性

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

答案 1 :(得分:0)

您不需要使用NPOI库

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

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

或针对特定文件

File.SetAttributes(folderPath, FileAttributes.ReadOnly);