Как открыть файл Excel как только для чтения без каких-либо предупреждений и без использования пути или имени файла? - PullRequest
0 голосов
/ 24 мая 2019

Я загружаю данные в шаблон Excel, хранящийся на сервере, и загружаю их с помощью FileStreamResult. Я хочу скачать Excel только для чтения. Чтобы сделать только чтение, когда я попробовал, путь спрашивает, но я не знаю, где пользователь может загрузить его в свою систему с сервера. Итак, как я могу сделать файл только для чтения? Я могу загрузить файл только для чтения, но он запрашивает приглашение типа «Хотите сохранить изменения или открыть только для чтения?» Я не хочу, чтобы этот запрос и файл открывались напрямую с помощью только для чтения.

Я пытался использовать макрос Но он просит подсказать сохранить изменения. Поскольку я не знаю путь, поскольку пользователь будет загружать с сервера в его конкретное местоположение. Итак, как я могу сделать это только для чтения без использования пути r имя файла?

Контроллер: System.IO.Stream spreadsheetStream = new 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 без каких-либо подсказок.

1 Ответ

0 голосов
/ 24 мая 2019

Я использовал ThisWorkbook.Saved = True ThisWorkbook.ChangeFileAccess xlReadOnly

Теперь загруженный файл непосредственно открывался только для чтения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...