C# Xls导出未在服务器上运行
出口在当地运作良好。它在Azure上不起作用。下载一个空文件。告诉我问题出在哪里?您的问题可能与最近的Microsoft Excel安全更新有关C# Xls导出未在服务器上运行,c#,asp.net-mvc,azure,xls,C#,Asp.net Mvc,Azure,Xls,出口在当地运作良好。它在Azure上不起作用。下载一个空文件。告诉我问题出在哪里?您的问题可能与最近的Microsoft Excel安全更新有关 看 这是否可能使用COM?您是否需要安装Excel才能在本地工作?@evisnobu否,这显然不使用COM或Excel互操作。您在服务器上调试过吗?验证您是否已从数据库中检索到数据?为什么要生成HTML文件并使用XLS扩展名提供它们?这是一个糟糕的做法,微软已经发布了一个更新,使得这几乎不可行。为什么要从方法返回JSON并结束响应,而不是返回文件结果?
看 这是否可能使用COM?您是否需要安装Excel才能在本地工作?@evisnobu否,这显然不使用COM或Excel互操作。您在服务器上调试过吗?验证您是否已从数据库中检索到数据?为什么要生成HTML文件并使用XLS扩展名提供它们?这是一个糟糕的做法,微软已经发布了一个更新,使得这几乎不可行。为什么要从方法返回JSON并结束响应,而不是返回文件结果?为什么在ASP.NET MVC中使用GridView?
public ActionResult ExportToExcel()
{
GridView gv = new GridView();
gv.DataSource = db.Details.Select(x => new
{
x.Title,
Category = x.Category.Title,
SubCategory = x.SubCategory.Title,
x.Count,
x.Price,
Automobiles = x.Automobiles.Count,
x.Description
}).ToList();
gv.DataBind();
Response.ClearContent();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment; filename=Marklist.xls");
Response.ContentType = "application/ms-excel";
Response.Charset = "";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
gv.RenderControl(htw);
Response.Output.Write(sw.ToString());
Response.Flush();
Response.End();
return Json(true);
}