JS将获取到的JSON数据导出到excel表中,通常有两种方法,

导出.cvs纯文本格式,优点是导出速度快,当数据量很大时可以优先考虑,缺点是纯文本是不能进行格式排版的,需要导出带排版格式的文件时,就需要导出成二进制格式的.xls文件

这里只介绍导出.cvs格式

 let str = `id,部门,姓名,直播时长,观看数量\n`;//
        //增加\t为了不让表格显示科学计数法或者其他格式
        for(let i = 0; i < jsonData.length; i++){
            for(let item in jsonData[i]){
                str+=`${jsonData[i][item] + '\t'},`;
            str+='\n';
        //encodeURIComponent解决中文乱码, \ufeff是 ""
        let uri = 'data:text/csv;charset=utf-8,\ufeff' + encodeURIComponent(str);
        //通过创建a标签实现
        let link = document.createElement("a");
        link.href = uri;
        //对下载的文件命名
        link.download =  "直播统计表.csv";
        document.body.appendChild(link);
        link.click();
        document.body.removeChild(link);
                                    方法一将table标签,包括tr、td等对json数据进行拼接,将table输出到格上实现,这种方法的弊端在于输出的是伪excel,虽说生成xls为后缀的文件,但文件形式上还是html,代码如下<html>
  <p style="font-size: 20px;color: red;">使用table标签方式将json导出xls文件</p...
                                    将table标签,包括tr、td等标签对json数据进行拼接,将table输出到格上实现导出。通过对json格式的数据进行遍历,字符串拼接,通过a标签将拼接好的字符串输出到csv文件。弊端:输出的是伪excel,虽然生成后缀为xls的文件,但文件形式上还是html。\t :为了不让格显示科学计数法或者其他格式。, :每一个逗号就是隔开一个单元格。
                                    工作中 后端 那为兄弟 用java把execl的数据转为json格式发我了,他问我能不能用js把josn在转为execl格式 然后 我就开始了。最后执行  =>代码中使用的是 Node.js 环境。会在当前目录下生成一个名为。​	创建一个 .js文件夹。的 Excel 文件。
function changeData(s){
  //如果存在ArrayBuffer对象(es6)最好采用该对象
    if(typeof ArrayBuffer !== 'undefined'){
      //1.创建一个字节长度为s.length的内存区域
      let buf = new Array
require('script-loader!file-saver');
require('script-loader!./Blob');
require('script-loader!xlsx/dist/xlsx.core.mi
                                    核心思想: 拿到JSON 格式的数据后,使用JS逻辑生成符合 EXCEL格式规范的XML字符串 然后转字符串内容把换成一个Blob 实例对象 最后通过 临时创建的一个A标签通过触发它的点击事件模拟浏览器文件下载功能即可。
(1) 第一步 得到JSON 格式的数据
  这里以下面随意搞的模拟json数据为例进行说明(实际可以根据自己的数据做改动)
    "moneytype": [
        "typeid": "t1",
        "name": "太平养老颐...