将HTML表格导出到Excel,在Excel工作表中创build文件但编码了HTML

我正在导出一个HTML表格到Excel文件。 我正在使用这个所有其他浏览器:

window.open('data:application/vnd.ms-excel,<meta http-equiv="content-type" content="text/plain; charset=UTF-8"/>' + encodeURIComponent(tblHtml)); 

但是对于IE8,我已经做了以下工作来完成这项工作:

  1. jQuery发送表格的HTML标记为string
  2. 使用Javascript发帖的请求:

     if (($.browser.msie && parseInt($.browser.version) <= 8)) { $.ajax({ url: '/exportdatatoexcel', data: { 'tblToExport': tblHtml//encodeURIComponent(tblHtml) , 'tblID': id }, type: 'POST', async: false, success: function (html) { //nothing to do }, error: function (jqXHR, textStatus, errorThrown) { if (jqXHR.readyState != 0) { alert('error occurred'); } } }); window.open("/exportdatatoexcelfilesavedialog", 'PopUp', 'width=500,height=300'); } 
  3. 处理post请求和window.open请求(用于打开文件保存对话框)的操作:

     [HttpPost] [ValidateInput(false)] public ActionResult ExportDataToExcel(FormCollection form) { string tblToExport = form["tblToExport"], tblID = form["tblID"]; Session["ExportTbl"] = tblToExport; ContentResult content = new ContentResult(); return content; } [ValidateInput(false)] public ActionResult ExportDataToExcelFileSaveDialog() { Response.ContentType = "application/vnd.ms-excel"; Response.AddHeader("Content-Disposition", "attachment;filename=download.xls"); Response.ContentEncoding = System.Text.Encoding.UTF8; object tblToExport = Session["ExportTbl"]; return PartialView("_ExportToExcelForIE8", tblToExport.ToString()); } 

现在,当文件保存对话框打开时,我可以保存excel文件,但是excel文件的内容是:

%0D%0A%3cTABLE + DIR%3dltr + ID%3dtblCompAnalysis +类%3D%22clear +表+公司的分析 – 一般%22 + CELLSPACING%3D0 + CELLPADDING%3D0 +宽度%3D%22100%25%22%3E %3cTBODY%3E%0D%0A%3cTR +类%3D%22labh +sorting%22%3E%0D%0A%3cTD%3eCompany%3C%2fTD%3E%0D%0A%3cTD%3eMarket +扇区%3C%2fTD %3E%0D%0A%3cTD%3eArgaam +部门+%3C%2fTD%3E%0D%0A%3cTD +类%3D城市%3eCity%3C%2fTD%3E%0D%0A%3cTD +类%3dtel%3ePhone%3C %2fTD%3E%0D%0A%3cTD +类%3dtel%3eFax%3C%2fTD%3E%0D%0A%3cTD%3eEmail%3C%2fTD%3E%0D%0A%3cTD%3eWebsite%3C%2fTD%3E %3C%2fTR%3E%0D 0A%%3cTR%3E%0D 0A%%3cTD%3E%3C