js-xlsx插件的使用

<!DOCTYPE html>
<html>
<head>
    <meta charset='utf-8'>
    <title>JS-XLSX Demo</title>
    <script type="text/javascript" src='./libs/xlsx.full.min.js'></script>
</head>
<body>
 
<table id="data-table" border="1" width="50%">
    <tbody>
        <tr>
            <td>编号</td>
            <td>名称</td>
            <td>价格</td>
            <td>日期</td>
        </tr>
        <tr>
            <td>1</td>
            <td>《Java架构师》</td>
            <td>¥78.5</td>
            <td>2018-10-11</td>
        </tr>
        <tr>
            <td>2</td>
            <td>《Python入门到精通》</td>
            <td>¥65.3</td>
            <td>2019-03-22</td>
        </tr>
        <tr>
            <td>3</td>
            <td>《JavaScript高级教程》</td>
            <td>¥89.4</td>
            <td>2017-04-13</td>
        </tr>
    </tbody>
</table>
 
<p>
    将上面表格的内容导出到Excel文件
</p >
<p>
    <button onclick="exportExcel()">导出Excel</button>
</p >
 
<script type="text/javascript">
 
    function exportExcel() {
        // 获取表格的Dom对象
        var elt = document.getElementById('data-table');
 
        // 创建Excel工作簿,即一个Excel文件
        var wb = XLSX.utils.table_to_book(elt, {
            sheet: "SheetJS" // 工作表格名称
        });
 
        // 导出工作表
        return XLSX.writeFile(wb, 'SheetJSTableExport.xlsx');
    }
    
    function exportExcel2() {
        // 获取表格的Dom对象
        var elt1 = document.getElementById('xgszjcb-tb');
        var elt2 = document.getElementById('xqzjcbxtscb-tb');
        var elt3 = document.getElementById('xqzjcbdrb-tb');
        var elt4 = document.getElementById('xgszjsr-tb');
        
        // 创建虚拟workbook
        var wb = XLSX.utils.book_new();
        
        // 把数据生成sheet
        var sheet1 = XLSX.utils.table_to_sheet(elt1);
        var sheet2 = XLSX.utils.table_to_sheet(elt2);
        var sheet3 = XLSX.utils.table_to_sheet(elt3);
        var sheet4 = XLSX.utils.table_to_sheet(elt4);
        
        // 把sheet添加到workbook里
        XLSX.utils.book_append_sheet(wb,sheet1,"县区直接成本-合计");
        XLSX.utils.book_append_sheet(wb,sheet2,"县区直接成本-系统生成");
        XLSX.utils.book_append_sheet(wb,sheet3,"县区直接成本-导入");
        XLSX.utils.book_append_sheet(wb,sheet4,"县区直接收入-合计");
 
        // 导出工作表
        return XLSX.writeFile(wb, '县区公司.xlsx');
    }
 
</script>
</body>
</html>

1、以上是js-xlsx的使用案例,纯前端导出excel。

2、导出时,会把52.36%导出成0.5236,加入以前代码,才不会把%计算进去。

var sheet = XLSX.utils.table_to_sheet(elt,{raw: true});就不会把字符串当做数字处理
var wb = XLSX.utils.table_to_book(elt,{raw: true});就不会把字符串当做数字处理

 3、用到的包

posted @ 2020-08-29 19:07  〆平平淡淡才是真  阅读(2234)  评论(0编辑  收藏  举报