我正在通过StringBuilder导出文件excel。如何为文件excel设置只读。
这是我的代码:
byte[] fileContents = Encoding.UTF8.GetBytes(sb.ToString());
return File(fileContents, "application/vnd.ms-excel", "FileName" + DateTime.Now + ".xls");
答案 0 :(得分:0)
你不能。您必须保护工作簿而不是将其设置为只读。文件属性不会通过HTTP保留,因此无法强制客户端在文件上设置只读属性(如果可以,客户端可以轻松删除它)。
有一些选项可以在服务器上保护工作簿,但Microsoft discourages the use of Office in ASP.NET,所以你必须寻找其他选项,例如EPPlus。
答案 1 :(得分:0)
你不能通过C#打开Excel吗? 如果你可以的话;打开文件并使用
运行vbaSetAttr("TESTFILE", vbReadOnly)
并关闭文件。