将数据从api控制器导出到Excel,Angular 2

时间:2017-06-06 10:05:20

标签: c# excel angular angular2-routing

我是Angular的新手,我遇到了问题。我点击按钮时试图导出数据。

这是我的组件代码:

exportExcel() {
    this.orderService.exportExcel().subscribe(
      () => {
        alert("The downloading process has started");
      }
    );
}

这是我的服务代码

  exportExcel = (): Observable<any> => {
    return this.http.put(this.configuration.Server + "ExcelExport/", {headers:this.headers});
  }

这是我的api控制器代码

[HttpPut]
public async Task<IActionResult> Put()
{
    var user = await GetCurrentUserAsync();
    var orders = await _orderRepository.GetOrderStatus(user);

    StringBuilder sb = new StringBuilder();
    sb.Append("<table border=`" + "1px" + "`b>");
    sb.Append("<tr>");
    sb.Append("<td><b><font face=Arial Narrow size=3>FName</font></b></td>");
    sb.Append("</tr>");

    foreach (var data in orders)
    {
        sb.Append("<tr>");
        sb.Append("<td><font face=Arial Narrow size=" + "14px" + ">" + data.Price + "</font></td>");
        sb.Append("<tr>");
    }

    sb.Append("</table>");

    HttpContext.Response.Headers.Add("content-disposition", "attachment; filename=Information.xls");
    Response.ContentType = "application/vnd.ms-excel";
    byte[] temp = Encoding.UTF8.GetBytes(sb.ToString());

    return File(temp, "application/excel");
}

当我点击按钮时,我只想开始下载导出 - 但它没有这样做。请帮帮我 - 谢谢

0 个答案:

没有答案