【问题标题】:can't export htmltable to xls file when using jquery?使用 jquery 时无法将 htmltable 导出到 xls 文件?
【发布时间】:2011-06-08 01:28:01
【问题描述】:

我需要导出一个htmltable到xls,

我有一个页面大量使用 jquery,并且有一个链接触发 jquery 帖子

 var downloadType = document.getElementById("downloadType");         
 var downloadTypeValue = downloadType.options[downloadType.selectedIndex].value;
 var data = {
     exportFormat: downloadTypeValue               
 };
 $.post("ajax.aspx",data);

如您所见,链接发布文件格式到名为 ajax.aspx 的页面,该页面运行以下代码

 HtmlTable tableToExport = (HtmlTable)Session["tblReportResult"];
 StringWriter stringWrite = new StringWriter();
 HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
 tableToExport.RenderControl(htmlWrite);
 Response.Clear();
 Response.AddHeader("content-disposition", "attachment;filename=wateva.xls");
 Response.ContentType = "application/ms-excel";
 Response.Write(stringWrite.ToString());
 Response.End();

所以它从会话中检索 htmltable 控件并使用 response.write 来生成文件,但是,它不工作......请问有什么想法吗?

【问题讨论】:

    标签: jquery asp.net export xls


    【解决方案1】:

    jQuery 是前端的 javascript。如果您传递给后端的只是一种格式,那么您就无法在后端导出仅存储在前端的内容。

    【讨论】:

    • 要导出的数据存储在 Session["tblReportResult"] 我只需要用户选择他们想要的格式。
    • 所以您正试图从 AJAX 请求中返回文件?还有传递exportFormat的意义何在,我没看到你用它。
    • 感谢重播,exportFormat 可以赋值为csv、xls 和docx,用户点击链接传递值,以便我可以导出所需格式的文件。它没有被使用,因为 atm 我只是在 xls 上进行试验,正如您在 Response.AddHeader("content-disposition", "attachment;filename=wateva.xls"); 中看到的那样
    • 据我所知,您无法从 ajax 请求返回文件。我可能是错的,但我从未见过。
    • 我认为你是对的 kingjiv,我可能不得不想出另一种方法。
    【解决方案2】:

    我最终使用 iframe 来返回运行良好的文件!

    【讨论】:

      猜你喜欢
      • 2021-04-11
      • 1970-01-01
      • 1970-01-01
      • 2012-05-30
      • 2018-04-13
      • 2020-12-04
      • 2021-05-03
      • 2022-07-19
      • 1970-01-01
      相关资源
      最近更新 更多