Экспорт файла Excel с WebAPI, VueJS, EPPlus - PullRequest
0 голосов
/ 22 января 2020

Мне нужно экспортировать файл Excel, который состоит из формул и т. Д. c. Это не просто таблица данных. То есть, верхняя часть будет описаниями / вычислениями, а затем нижняя половина будет l oop через список предметов. Добавление этого b c Мне нужно больше функциональности, чем vue - json -excel или vue - json -экспорт (я думаю)

Я знаю, как чтобы сделать это с помощью webforms / code-behind, но я возился с VueJS и MVC и пытаюсь выяснить, как это сделать с этим. Я использую EPPlus.

С VueJS, я вызываю webapi, который попадает в мой контроллер «отчетов». Сейчас я просто пытаюсь выяснить, могу ли я на самом деле экспортировать файл Excel из-за кода.

Прямо сейчас, когда я пытаюсь экспортировать фиктивный файл ... ничего не происходит? Нет никаких ошибок, но нет подсказки с надписью «Загрузить файл или Открыть» (или что-то еще).

public class ReportController : ApiController
{
    public HttpResponseMessage Get(string aliases, string startDate, string endDate, string level)
    {         
        //attempting to just export a dummy excel - not working :(         

        MediaTypeHeaderValue mediaType = MediaTypeHeaderValue.Parse("application/octet-stream");
        MemoryStream memoryStream = new MemoryStream(Resources.AbsenceReport);
        HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK);
        response.Content = new StreamContent(memoryStream);
        response.Content.Headers.ContentType = mediaType;
        response.Content.Headers.ContentDisposition =
            new ContentDispositionHeaderValue("fileName") { FileName = "Test.xlsx" };
        return response;
    }
}

Я что-то упустил? В моей Vue части у меня просто есть:

 AR.getTeamReport(aliasesToSearch, startDate, endDate, level)
    .then(response => {
      //IDK MAN WILL IT WORK :X
    })
    .catch(error => {
      console.log(error);
      this.sentToastError(
        "Unable to pull report. Please refresh and try again."
      );
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...