Невозможно использовать HTTP-ответ - PullRequest
0 голосов
/ 21 октября 2019

Я использую NPOI для сохранения файлов в формате .xls.

Я хотел бы сейчас сохранить пустой файл, поскольку у пользователя есть диалоговое окно и ему предлагается сохранить его локально.

У меня проблема в том, что я не могу установить поля Response, потому что

Имя 'Response' не существует в текущем контексте.

Это класс, который я хочу использовать:

https://docs.microsoft.com/en-us/dotnet/api/system.web.httpresponse?view=netframework-4.8

        //Load all documents sorted by DocNumber and export them
        var documents = await _ctx.Db.Documents
            .AsNoTracking()
            .OrderByDescending(d => d.Number)
            .ToListAsync();

        var workbook = new HSSFWorkbook();
        var sheet = workbook.CreateSheet("Invoicing_Docs");


        using (var exportData = new MemoryStream())
        {
            workbook.Write(exportData);
            string saveAsFileName = string.Format("Invoicing_Docs-{0:d}.xls", DateTime.UtcNow).Replace("/", "-");

            Response.ContentType = "application/vnd.ms-excel";
            Response.AddHeader("Content-Disposition", string.Format("attachment;filename={0}", saveAsFileName));
            Response.Clear();
            Response.BinaryWrite(exportData.GetBuffer());
            Response.End();
        }

Я установил System.Web в проекте.

Когда я ctrl + . отвечаю, у меня есть 3 варианта:

  • Установить пакет "IdentityMode",
  • Установить пакет "Selenium.WebDriver"
  • Установить пакет "Swashbuckle.AspNetCore.Swagger"

Также это статья, которую я читаю:

https://steemit.com/utopian-io/@haig/how-to-create-excel-spreadsheets-using-npoi

Мне не нужнолюбой из тех. Что я делаю не так?

1 Ответ

0 голосов
/ 21 октября 2019

Я узнал, что мне нужно делать.

Я не использовал контроллер Я писал службу, которая вызывается в контроллере.

Все, что мне нужно было сделать, это ввести ответв Методе обслуживания.

...