Jquery在没有ActiveX对象的IE中将HTML5表导出到Excel?

时间:2013-03-19 08:46:28

标签: jquery excel html5 export html-table

我正在尝试使用jquery将HTML表格的内容导出到IE中的Excel。我意识到他们讨论这个很多线程。但他们都指定了这段代码:

var ExcelApp = new ActiveXObject("Excel.Application");
var ExcelSheet = new ActiveXObject("Excel.Sheet");
ExcelSheet.Application.Visible = true;

或者这个:

  window.open('data:application/vnd.ms-excel,' + encodeURIComponent($('#dataTable').html()));

第一个在IE中工作,但我不想使用ActiveX对象,因为它违反了IE的默认安全设置。第二个在IE中不起作用。我想使用jQuery或JS来做这个客户端。

1 个答案:

答案 0 :(得分:1)

假设你的html表有一个id =“exportTable”

您可以使用以下方法将表导出到xls文件:

window.open('data:application/vnd.ms-excel,' + $('#exportTable').html());

您正尝试从浏览器中打开应用程序或写入文件系统。这意味着,如果默认安全设置不允许这样做,除了更改安全设置(我认为这不是一个选项)之外,实际上没有办法解决这个问题,或者在例如Chrome(也许不是一个选项),因为这对我来说很好。

从浏览器写入文件系统不是默认情况下允许的,正如您可以想象的那样,有充分的理由。

另一种方法可能是调查使用您的表数据创建新Google文档电子表格的可能性。 我发现interesting article描述了如何处理这个问题,但我对此没有任何经验。