C# 将数据从api控制器导出到Excel,角度2

C# 将数据从api控制器导出到Excel,角度2,c#,excel,angular,angular2-routing,C#,Excel,Angular,Angular2 Routing,我是个新手,我有个问题。我试图在单击按钮时导出数据 以下是我的组件代码: exportExcel() { this.orderService.exportExcel().subscribe( () => { alert("The downloading process has started"); } ); } 这是我的服务代码 exportExcel = (): Observable<any> => {

我是个新手,我有个问题。我试图在单击按钮时导出数据

以下是我的组件代码:

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});
  }
exportExcel=():可观察=>{
返回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");
}
[HttpPut]
公共异步任务Put()
{
var user=await GetCurrentUserAsync();
var orders=await\u orderRepository.GetOrderStatus(用户);
StringBuilder sb=新的StringBuilder();
某人加上(“”);
某人加上(“”);
某人附加(“FName”);
某人加上(“”);
foreach(订单中的var数据)
{
某人加上(“”);
sb.追加(“+data.Price+”);
某人加上(“”);
}
某人加上(“”);
HttpContext.Response.Headers.Add(“内容处置”,“附件;文件名=Information.xls”);
Response.ContentType=“application/vnd.ms excel”;
byte[]temp=Encoding.UTF8.GetBytes(sb.ToString());
返回文件(临时“应用程序/excel”);
}

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

你在用AngularJS吗?或者角度-(角度4)?从你的标签上看不清楚,我用的是angular 4,看起来你并没有用你的angular代码中的可观测数据做任何事情。也许这个相关的问题会有帮助。有人能帮我吗?你在用AngularJS吗?或者角度-(角度4)?从你的标签上看不清楚,我用的是angular 4,看起来你并没有用你的angular代码中的可观测数据做任何事情。也许这个相关的问题会有帮助,有人能帮我吗?