美文网首页
excel导出和导入

excel导出和导入

作者: 苍老师的眼泪 | 来源:发表于2022-01-18 00:30 被阅读0次

项目地址: https://github.com/SheetJS/sheetjs

每行数据是数组的导出:

<!DOCTYPE html>

<html>

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>

<body>
    
    <script type="text/javascript" src="xlsx.full.min.js"></script>
    <!-- <script type="text/javascript" src="./index_files/FileSaver.js"></script> -->


    <script>

        function doit(type) {
            var sheet1 = [
                ["This", "is", "a", "Test"],                
                [{
                    v: '哈哈',
                    l: { Target:"http://sheetjs.com", Tooltip:"Find us @ SheetJS.com!" },
                    // c: { color: "blue" },    // 需要专业版才能定制样式
                }, "to", "edit", "cells"],
            ]

            var sheet2 = [
                ["我想", "回家", "edit", "cells"],
                ["This", "is", "a", "Test"],                
            ]
            const wb = { SheetNames: ['sheet1', 'sheet2'], Sheets: {}, Props: {} };
            let s1 = XLSX.utils.json_to_sheet(sheet1);  // 如果数据是嵌套数组格式的话,表头自己定义,放在数组的第一行就好了
            

            wb.Sheets['sheet1'] = s1
            wb.Sheets['sheet2'] = XLSX.utils.json_to_sheet(sheet2, {skipHeader: true});
            
            return XLSX.writeFile(wb, 'file.xlsx');
        }

    </script>

    
    <button value="Export to XLSX!" onclick="doit('xlsx');">导出xlsx</button>
    

</body>

</html>

每行数据都是对象的导出:

<!DOCTYPE html>

<html>

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>

<body>
    
    <script type="text/javascript" src="xlsx.full.min.js"></script>
    <!-- <script type="text/javascript" src="./index_files/FileSaver.js"></script> -->


    <script>

        function doit(type) {
            var sheet1 = [
                {
                    age: 26,
                    name: "Edison",
                },
                {
                    age: 28,
                    name: "Recardo",
                }
            ]
            
            const wb = { SheetNames: ['sheet1'], Sheets: {}, Props: {} };
            

            wb.Sheets['sheet1'] = XLSX.utils.json_to_sheet(sheet1, { header: ['name', 'age'] }) // 手动控制列的顺序
            
            return XLSX.writeFile(wb, 'file.xlsx');
        }

    </script>

    
    <button value="Export to XLSX!" onclick="doit('xlsx');">导出xlsx</button>
    

</body>

</html>

在vue-cli中的使用:

  1. 通过npm或者yarn安装
  2. import XLSX from 'xlsx',其余过程没有什么区别

相关文章

网友评论

      本文标题:excel导出和导入

      本文链接:https://www.haomeiwen.com/subject/mbghhrtx.html