我正在将数据加载到服务器中存储的excel模板中,并使用FileStreamResult下载它。我想将Excel下载为只读。在尝试访问路径时将其设置为只读是一个问题,但我不知道用户可以从服务器将其下载到系统中。那么,如何使文件只读? 我能够以只读方式下载,但是它询问诸如“您要保存更改还是以只读方式打开?”之类的提示。我不希望使用只读直接打开该提示和文件。
我尝试使用宏 但是它要求提示保存更改。 因为我不知道用户将从服务器下载到其特定位置的路径。那么,如何不使用路径r文件名将其设置为只读?
控制器: System.IO.Stream电子表格流=新的System.IO.MemoryStream(); XLWorkbook wb =新的XLWorkbook(Server.MapPath(“〜/ XlsReport / Report_Template.xlsm”)); .....(将数据加载到工作表中)...
wb.SaveAs(spreadsheetStream);
spreadsheetStream.Position = 0;
return new FileStreamResult(spreadsheetStream,"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") { FileDownloadName = "Report.xlsm" };
宏:
Private Sub Workbook_Open()
ThisWorkbook.ChangeFileAccess xlReadOnly
End Sub
下载的文件要求保存更改。它应该直接以ReadOnly的形式打开,没有任何提示。
答案 0 :(得分:0)
我用过 ThisWorkbook.Saved = True ThisWorkbook.ChangeFileAccess xlReadOnly
现在下载的文件以只读方式直接打开。