相关疑难解决方法(0)

HTML表格到Excel Javascript

我正在尝试使用此脚本将html表保存到Excel文件,并且它工作正常,但它没有以正确的名称出现,而是使用随机字符串.我不明白为什么.

我叫它:

<input type="button" onclick="tableToExcel('tablename', 'name')" value="Export to Excel">
Run Code Online (Sandbox Code Playgroud)

var tableToExcel = (function() {
var uri = 'data:application/vnd.ms-excel;base64,'
, template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>{table}</table></body></html>'
, base64 = function(s) { return window.btoa(unescape(encodeURIComponent(s))) }
, format = function(s, c) { return s.replace(/{(\w+)}/g, function(m, p) { return c[p]; }) }
return function(table, name) {
if (!table.nodeType) table = document.getElementById(table)
var ctx = {worksheet: name || 'Worksheet', table: table.innerHTML}
window.location.href = uri + base64(format(template, ctx))
}
})()
Run Code Online (Sandbox Code Playgroud)

html javascript excel html-table

28
推荐指数
2
解决办法
9万
查看次数

在单独的工作表中将HTML表导出到Excel(.xls)

我有一个包含表视图的简单HTML页面(由外部应用程序生成).我试图从页面中删除表格并将它们放在Excel工作簿中.我已经设法使用此处提供的方法将整个HTML内容放在工作簿中.

相关问题的代码:

var tableToExcel = (function() {
  var uri = 'data:application/vnd.ms-excel;base64,'
    , template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>{table}</table></body></html>'
    , base64 = function(s) { return window.btoa(unescape(encodeURIComponent(s))) }
    , format = function(s, c) { return s.replace(/{(\w+)}/g, function(m, p) { return c[p]; }) }
  return function(table, name) {
    if (!table.nodeType) table = document.getElementById(table)
    var ctx = {worksheet: name || 'Worksheet', table: table.innerHTML}
    window.location.href = uri + base64(format(template, ctx))
  }
})()
Run Code Online (Sandbox Code Playgroud)

但是,该方法不支持多个电子表格.我需要的是在同一个Excel工作簿中的每个HTML表格中都有自己的SpreadSheet.像这样的东西: 在此输入图像描述

我试图用两个电子表格创建一个示例Excel文档,然后通过查看.html格式的导出对其进行反向工程.不幸的是,我无法理解如何重新创建工作簿和工作表之间的连接.

据我所知,该format()功能将工作表数据和Excel模板的"魔法"结合起来.这个功能对我来说看起来很神秘,所以我不知道如何修改它.

作为终极游戏我需要的是有可能打电话. tableToExcel(document.getElementsByTagName('table'), …

html javascript excel xls html-table

12
推荐指数
1
解决办法
5万
查看次数

使用javascript/jquery导出到excel后保留HTML表格样式

我有一个来自jsfiddle的漂亮的html表,我很乐意转换为excel文档.我的问题是在创建excel文件之后.该表在excel中丢失了样式,如字体颜色,填充,背景颜色.等有没有解决这个问题?

HTML

<table id="testTable" summary="Code page support in different versions of MS Windows." rules="groups" frame="hsides" border="2"><caption>CODE-PAGE SUPPORT IN MICROSOFT WINDOWS</caption><colgroup align="center"></colgroup><colgroup align="left"></colgroup><colgroup span="2" align="center"></colgroup><colgroup span="3" align="center"></colgroup><thead valign="top"><tr><th>Code-Page<br>ID</th><th>Name</th><th>ACP</th><th>OEMCP</th><th>Windows<br>NT 3.1</th><th>Windows<br>NT 3.51</th><th>Windows<br>95</th></tr></thead><tbody><tr><td>1200</td><td style="background-color: #00f; color: #fff">Unicode (BMP of ISO/IEC-10646)</td><td></td><td></td><td>X</td><td>X</td><td>*</td></tr><tr><td>1250</td><td style="font-weight: bold">Windows 3.1 Eastern European</td><td>X</td><td></td><td>X</td><td>X</td><td>X</td></tr><tr><td>1251</td><td>Windows 3.1 Cyrillic</td><td>X</td><td></td><td>X</td><td>X</td><td>X</td></tr><tr><td>1252</td><td>Windows 3.1 US (ANSI)</td><td>X</td><td></td><td>X</td><td>X</td><td>X</td></tr><tr><td>1253</td><td>Windows 3.1 Greek</td><td>X</td><td></td><td>X</td><td>X</td><td>X</td></tr><tr><td>1254</td><td>Windows 3.1 Turkish</td><td>X</td><td></td><td>X</td><td>X</td><td>X</td></tr><tr><td>1255</td><td>Hebrew</td><td>X</td><td></td><td></td><td></td><td>X</td></tr><tr><td>1256</td><td>Arabic</td><td>X</td><td></td><td></td><td></td><td>X</td></tr><tr><td>1257</td><td>Baltic</td><td>X</td><td></td><td></td><td></td><td>X</td></tr><tr><td>1361</td><td>Korean (Johab)</td><td>X</td><td></td><td></td><td>**</td><td>X</td></tr></tbody><tbody><tr><td>437</td><td>MS-DOS United States</td><td></td><td>X</td><td>X</td><td>X</td><td>X</td></tr><tr><td>708</td><td>Arabic (ASMO 708)</td><td></td><td>X</td><td></td><td></td><td>X</td></tr><tr><td>709</td><td>Arabic (ASMO 449+, BCON V4)</td><td></td><td>X</td><td></td><td></td><td>X</td></tr><tr><td>710</td><td>Arabic (Transparent Arabic)</td><td></td><td>X</td><td></td><td></td><td>X</td></tr><tr><td>720</td><td>Arabic (Transparent ASMO)</td><td></td><td>X</td><td></td><td></td><td>X</td></tr></tbody></table>
Run Code Online (Sandbox Code Playgroud)

CSS

body
{
    font-size: 12pt;
    font-family: Calibri;
    padding : 10px;
}

table
{
    border: 1px solid black; …
Run Code Online (Sandbox Code Playgroud)

excel jquery

12
推荐指数
1
解决办法
3万
查看次数

如何将多个html表导出为ex​​cel?

我有一个有3个表的网页,我想将所有3个表格导出到同一个excel文件中.我想把每张桌子放在自己的床单上,但是把它们放在同一张纸上也是可以的.经过一些谷歌搜索,我所看到的只是将一个表导出到一个excel表.

html javascript excel html-table export-to-excel

5
推荐指数
1
解决办法
2万
查看次数

使用javascript将工作表添加到excel文件

假设我有3张桌子.我想将3个工作表(每页一个表)中的表插入到一个excel文件中(不需要ActiveXObject)

在此输入图像描述

我尝试了下面的代码,但它只创建了一个工作表

var tableToExcel = (function () {
    var uri = 'data:application/vnd.ms-excel;base64,',
        template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>{table}</table><table>{table}</table></body></html>',
        base64 = function (s) {
            return window.btoa(unescape(encodeURIComponent(s)))
        }, format = function (s, c) {
            return s.replace(/{(\w+)}/g, function (m, p) {
                return c[p];
            })
        }
    return function (table, name) {
        if (!table.nodeType) table = document.getElementById(table)
        var ctx = {
            worksheet: name || 'Worksheet',
            table: table.innerHTML
        }
        window.location.href = uri + base64(format(template, ctx))
    }
})();
Run Code Online (Sandbox Code Playgroud)

javascript excel

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

excel ×5

javascript ×4

html ×3

html-table ×3

export-to-excel ×1

jquery ×1

xls ×1