jsTable 生成Excel表格xlsx表格

这个文章的内容是表格生成文件,表格生成文件,表格生成文件

这一篇是对应的文件生成表格

适用于各种js框架,这边有2种情况:

1、将页面的table 元素 变成excel文件并下载(详见1.1和1.2)
2、如果excel数据非常大的话后端将数据变成excel 前端直接下载这个文件(详见2.1)

下载依赖

yarn add xlsx

你所需要的Table

<table border="1">
                    <thead>
                        <tr>
                            <th>1小时候</th>
                            <th>长大后</th>
                            <th>小时候</th>
                            <th>长大后</th>
                        </tr>
                    </thead>

                    <tbody>
                        <tr>
                            <td>3哭着哭着就笑了</td>
                            <td>笑着笑着就哭了</td>
                            <td>我们终于到了小时候最羡慕的年纪</td>
                            <td>确没能成为小时候最想成为的人</td>
                        </tr>
                    </tbody>
                    <tfoot>
                        <tr>
                            <td>2枕头上是口水</td>
                            <td>枕头上是泪水</td>
                            <td>微笑是一种心情</td>
                            <td>微笑是一种表情</td>
                        </tr>
                    </tfoot>
                </table>

1.1:

createElsx() {
        // 获取表格的dom元素
        var elt = document.getElementsByTagName('table')[0];
        console.log(elt)
        // 将表格的dom 元素转化为 excel工作薄
        var wb = XLSX.utils.table_to_book(elt, { sheet: "Sheet JS" });
        // 将工作薄导出为excel文件
        XLSX.writeFile(wb, '呵呵哒.xlsx');
    }

    componentDidMount(){
        this.createElsx()
    }

1.2:

  createElsx() {
        let arr = [
            ["序号", '姓名', '年纪'],
            ["0", '呵呵哒', '15'],
            ["1", '12313', '15'],
        ]
        // 将数组转化为标签页
        var ws = XLSX.utils.aoa_to_sheet(arr);
        // 创建工作薄
        var wb = XLSX.utils.book_new()
        // 将标签页插入到工作薄里
        XLSX.utils.book_append_sheet(wb, ws)
        // 将工作薄导出为excel文件
        XLSX.writeFile(wb, '呵呵哒.xlsx');
    }

    componentDidMount() {
        this.createElsx()
    }

2.1

// 前端直接下载
前端进行下载

<button onclick='download()'>open下载</button>
<iframe name='myFrame' style="display:none;"></iframe>
<script>
function download(){
window.open('http://localhost:3000/getelsx','myFrame')
}
</script>
// tips:通过iframe可以不让浏览器闪一下
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 使用js-table2excel无法直接导出图片。js-table2excel是一个用于将HTML表格导出为Excel文件的JavaScript库,它主要是用于导出表格中的数据。而图片通常不是直接插入到表格中显示的,而是通过在表格中插入图片的URL或者使用img标签来显示。因此,js-table2excel无法直接导出表格中的图片。 如果想要将图片一起导出到Excel文件中,可以使用其他的方法。一种常见的方法是使用其他JavaScript库,如js-xlsx或者SheetJS,这些库可以处理更复杂的Excel导出需求,包括导出带有图片的表格。这些库提供了更多功能和选项,允许通过编程方式将图片插入到Excel文件中。 另外,还可以考虑将图片保存为Base64编码的字符串,并将该字符串作为数据保存在表格中的某个单元格中。然后,使用js-table2excel将带有Base64编码图片字符串的表格导出到Excel文件中。虽然这种方法不会直接导出图片,但可以在表格中保留图片的信息。 总之,由于js-table2excel库的特性限制,无法直接使用该库导出带有图片的Excel文件。但是可以通过其他方法来实现这个目标,比如使用其他JavaScript库或者将图片保存为Base64编码的字符串。 ### 回答2: js-table2excel是一个用于将HTML表格导出为Excel文件的JavaScript库,它并不支持直接将图片导出到Excel文件中。这是因为Excel文件的格式与HTML的图片格式不同。 要在Excel文件中导出图片,可以使用其他方法,例如使用Excel插件或将图片嵌入到生成Excel文件中。 一种常见的方法是使用Excel插件,例如js-xlsx或SheetJS。这些插件提供了更强大的功能,可以直接将图片插入到生成Excel文件中,同时支持更复杂的Excel操作,如合并单元格、格式化等。 另一种方法是使用基于服务器端的技术来生成Excel文件,例如使用Node.js中的库或其他服务器端语言,然后在服务器端将图片嵌入到生成Excel文件中。这种方法较复杂,需要有服务器端编程的知识和技巧。 总结起来,使用js-table2excel无法直接导出图片到Excel文件中,但可以尝试使用其他工具或方法来实现此功能。具体方法可以根据实际需求和技术条件选择适合的方案。 ### 回答3: 使用js-table2excel插件无法直接导出图片。js-table2excel插件是一个用于导出html表格数据到Excel的插件,它主要用于导出数据表格,而不是导出图片。如果需要导出带有图片的Excel文件,可以考虑使用其他方法。 一种可行的解决方案是使用其他插件或库来实现导出带有图片的Excel文件。例如,可以使用js-xlsx库来生成Excel文件,并将图片插入到Excel表格中的相应单元格。具体步骤如下: 1. 首先,将图片转换为Base64编码。 2. 创建一个xlsx工作簿对象。 3. 创建一个工作表对象,并在适当的单元格中插入图片。可以使用`addImage`方法来实现。 4. 将工作表添加到工作簿中。 5. 将工作簿保存为Excel文件。 这样就可以导出带有图片的Excel文件了。需要注意的是,这种方法可能比较复杂,需要一定的编程知识和经验。 总之,如果使用js-table2excel插件无法导出图片,可以考虑使用其他插件或库来实现导出带有图片的Excel文件。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值