【问题标题】:Javascript Download to excel sheetJavascript下载到excel表
【发布时间】:2016-01-19 02:45:12
【问题描述】:

有一个HTML表格

<table>
       <tr><th>NAME</th></tr>
       <tr><td>SAL</td></tr>
       <tr><td>TOM</td></tr>
       <tr><td>SAM</td></tr>
       <tr><td>Jenny</td></tr>
</table>

下载到excel表格

点击超链接如何将表格保存到excel表格

【问题讨论】:

    标签: javascript jquery html jquery-selectors


    【解决方案1】:

    您可能想尝试使用 XLSX.js 库 http://blog.innovatejs.com/?tag=xlsx-js

    那里有一个关于如何导出到 excel 的示例,其中给出了示例。

    请注意,这会导出为 XLSX 格式而不是 XLS。但这对于大多数用途来说应该不是问题。来源在 GitHub:https://github.com/stephen-hardy/xlsx.js

    【讨论】:

      【解决方案2】:

      您可能想看看table2CSV,因为 Excel 可以毫无问题地打开 csv 文件(而且其他软件也可以这样做,例如 OpenOffice)。如果您需要跨浏览器,则无法生成可下载的文件,因为您需要一个服务器端脚本,如我链接页面中示例中的脚本。

      【讨论】:

        【解决方案3】:

        我开发了一款名为scriptscraper 的产品,旨在解决这个问题。

        安装试用版,因为演示项目从 yahoo Finance 下载数据并将数据存储在 Excel 中。对于那个简单的 html 表,做你需要的事情是没有问题的。

        【讨论】:

        • 如果我错了,请纠正我...作为独立的 Windows 进程运行,而不是可以从任何旧的 HTML 页面引用并用于在本地系统上打开 Excel 的东西?此外,它看起来是 35mb,哎呀。
        【解决方案4】:

        试试这个:

        function makeSheet() {
        var x = theTable.rows
        
        var xls = new ActiveXObject("Excel.Application")
        xls.visible = true
        xls.Workbooks.Add
        for (i = 0; i < x.length; i++){
          var y = x[i].cells
        for (j = 0; j < y.length; j++){
             xls.Cells( i+1, j+1).Value = y[j].innerText
           }
          }
        }
        

        【讨论】:

        • theTable是表的id是吗??
        • document.getElementById("theTable")
        • 很有趣,但它似乎只适用于 IE。我正在为 Firefox 寻找类似的解决方案。
        • @ruffp ActiveX 仅在 IE 中运行。
        • 是的,你是对的,最后我们选择了另一种方式,通过使用 xslt 转换而不是使用 javascript 来构建 excel xml(网络发布不是必须的)
        猜你喜欢
        • 2015-05-07
        • 1970-01-01
        • 1970-01-01
        • 2017-07-14
        • 1970-01-01
        • 1970-01-01
        • 2014-04-08
        • 2020-02-22
        • 2011-05-29
        相关资源
        最近更新 更多