前端js通过xlsx组件实现将json数据处理成表格并导出成excel数据

import XLSX from 'xlsx'
function parseJsonToTable(jsonData , tableNameT , tableNameChinaT) {
  const tableData = [];
  const rowData = ['表名','中文表名','字段名','中文字段名','字段表对应编码'];
  tableData.push(rowData);
  for (let key of Object.keys(jsonData)) {
    let jsonDatum = jsonData[key]; //获取每个对象
    // 获取数组中的对象
    for (let arr in jsonDatum) {
      let obj = jsonDatum[arr]
      const item = obj;
      if (item.name==undefined){
        continue;
      }
      const rowData = [tableNameT  , tableNameChinaT , item.name==undefined?"-":item.name, item.label==undefined?"-":item.label, item.code==undefined?"-":item.code];
      // const rowData = [1,2,3];
      tableData.push(rowData);
    }
  }
  return tableData;
}

function exportToExcel(tableData, fileName) {
  const ws = XLSX.utils.aoa_to_sheet(tableData);
  const wb = XLSX.utils.book_new();
  XLSX.utils.book_append_sheet(wb, ws, "Sheet1");
  XLSX.writeFile(wb, fileName);
}
for (let i=0 ; i <tableName.length ; i ++){
  const tableData = parseJsonToTable(context[i] , tableName[i] ,tableNameChina[i]);
  exportToExcel(tableData, tableName[i]+'.xlsx');
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值