JS 导出 excel

<html>
<head>
    <p style="font-size:  20px;color:  red;">使用a标签方式将json导出csv文件</p>
    <button onclick='tableToExcel()'>导出</button>
</head>
<body>
    <script>
        const tableToExcel = () => {
            //  要导出的json数据
            const jsonData = [
                {
                    name: '甲',
                    phone: '110',
                    email: '123456.com'
                },
                {
                    name: '乙',
                    phone: '120',
                    email: '123456.com'
                },
                {
                    name: '丙',
                    phone: '119',
                    email: '123456.com'
                },
                {
                    name: '丁',
                    phone: '911',
                    email: '123456.com'
                },
            ];
            //  列标题,逗号隔开,每一个逗号就是隔开一个单元格
            let str = `姓名,电话,邮箱\n`;
            //  增加  为了不让表格显示科学计数法或者其他格式
            for (let i = 0; i < jsonData.length; i++) {
                for (const key in jsonData[i]) {
                    str += `${jsonData[i][key] + '  '},`;
                }
                str += '\n';
 
            }
            //  encodeURIComponent解决中文乱码
            const uri = 'data:text/csv;charset=utf-8,' + encodeURIComponent(str);
            //  通过创建a标签实现
            const link = document.createElement("a");
            link.href = uri;
            //  对下载的文件命名
            link.download = "json数据表.csv";
            link.click();
        }
    </script>
</body>
</html>
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容