Я хочу создать сервис, который будет генерировать таблицу Excel из моей хранимой процедуры. Я смотрю на https://www.talkingdotnet.com/import-export-excel-asp-net-core-2-razor-pages/, где она работает для бритвенной страницы напрямую, но мне нужно создать службу (на моем бизнес-уровне и предоставить ее контроллеру).
Я столкнулся с проблемой, что в этом уроке возвращено IActionResult
из функции:
public async Task<IActionResult> OnPostExport()
{
//logic
return File(memory, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", sFileName);
}
Подробнее о режиме см. https://www.talkingdotnet.com/import-export-excel-asp-net-core-2-razor-pages/.
Я пытался написать этот код:
public class ExportService
{
private IHostingEnvironment _hostingEnvironment;
public ExportService(IHostingEnvironment hostingEnvironment)
{
_hostingEnvironment = hostingEnvironment;
}
public async Task OnPostExport(int year)
{
//logic
return File(memory, "application/vnd.openxmlformats-
officedocument.spreadsheetml.sheet", sFileName);
}
Это не работает, потому что «вернуть файл» - функционал из PageModel, как это работает в учебнике. Я хочу вернуть файл контроллеру из моего сервиса. Какой тип я должен возвращать из моей OnPostExport
функции? Я буду благодарен за любую информацию и идеи, которые мне нужны.