Asp.net mvc 4 vs2012 MVC4下载excel文件可在桌面上使用,但不能在移动设备上使用”;无法读取该文档";

Asp.net mvc 4 vs2012 MVC4下载excel文件可在桌面上使用,但不能在移动设备上使用”;无法读取该文档";,asp.net-mvc-4,Asp.net Mvc 4,我正在使用closedxml在使用VS2012的MVC4项目上生成excel文件。当我在VS上测试项目或在IIS服务器上发布项目时,该过程在我使用台式计算机的情况下工作。我点击链接,得到打开、保存或取消的提示。问题是使用手机。一旦我点击链接,我得到一个错误。无法读取该文档。我主要在Iphone(5s、se、4s、6)上测试它,我得到了相同的错误。我使用移动办公应用程序,如果我在那里打开它,文件会正确显示。因此,我不清楚如何在移动设备上正确下载该文件。 这是我的密码 公共文件流结果下载报告() {

我正在使用closedxml在使用VS2012的MVC4项目上生成excel文件。当我在VS上测试项目或在IIS服务器上发布项目时,该过程在我使用台式计算机的情况下工作。我点击链接,得到打开、保存或取消的提示。问题是使用手机。一旦我点击链接,我得到一个错误。无法读取该文档。我主要在Iphone(5s、se、4s、6)上测试它,我得到了相同的错误。我使用移动办公应用程序,如果我在那里打开它,文件会正确显示。因此,我不清楚如何在移动设备上正确下载该文件。 这是我的密码

公共文件流结果下载报告()

{

单元cx=新单元()

List Results=cx.GetCellDetails()

GridView GridView1=新的GridView()

GridView1.DataSource=结果

GridView1.DataBind()

DataTable dt=新的DataTable(“GridView_数据”)

对于(int i=0;i 增加(i)栏

dt.Columns.Add(GridView1.HeaderRow.Cells[i].Text);}

foreach(GridView1.Rows中的GridViewRow行)

{

dt.Rows.Add()

for(int i=0;i {

dt.Rows[dt.Rows.Count-1][i]=行.单元格[columns[i]].Text==“”?字符串。空:行.单元格[columns[i].Text

}

}

XLWorkbook wb=new XLWorkbook();
wb.Worksheets.Add(dt,“Report”);
Response.Clear();
Response.Buffer=true;
Response.Charset=“”;
Response.ContentType=“application/vnd.openxmlformats of cedocument.spreadsheetml.sheet”;
Response.AddHeader(“内容处置”、“附件;文件名=\”test.xlsx\)
MemoryStream MyMemoryStream=new MemoryStream();
wb.SaveAs(MyMemoryStream);
MyMemoryStream.Position=0;
返回新文件流结果(MyMemoryStream,“application/vnd.openxmlformats of icedocument.spreadsheetml.sheet”);

我用剃刀来称呼它

  • @Html.ActionLink(“将结果导出到Excel”、“下载报告”、“单元格”、新的{@id=“lnkExcel”})