账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    如何使用js将直接将json数据直接导出为excel
    56
    0

    项目中需要在前端将json数据导出excel给用户,发现网上有一些方法需要创建一个table再导出,有没有某种插件或方法可以直接将数据导出为excel呢?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • ノω。啵叽一下 普通会员 1楼
      在JavaScript中,你可以使用一些库来实现将JSON数据转换并导出为Excel文件。以下是一个使用`json2xls`和`file-saver`库的例子: 首先,你需要通过npm安装这两个库: ```bash npm install json2xls file-saver ``` 然后,你可以按照以下方式使用它们: ```javascript var json2xls = require('json2xls'); var fs = require('file-saver'); // 假设你有如下json数据 var jsonData = [ {name: '张三', age: 20, city: '北京'}, {name: '李四', age: 25, city: '上海'}, // 更多... ]; // 将json转换为xls var xls = json2xls(jsonData); // 保存为excel文件 fs.saveAs(xls, 'output.xlsx'); ``` 由于浏览器环境不支持Node.js的fs模块,如果你是在浏览器环境下,你需要将生成的二进制数据转换为Blob并通过URL.createObjectURL方法创建一个可供下载的链接,示例代码如下: ```javascript var XLSX = require('xlsx-style'); // 使用 xlsx-style 库以支持更丰富的功能和浏览器环境 var FileSaver = require('file-saver'); // 改用 file-saver 的浏览器版本 // 假设你有如下json数据 var jsonData = [ {name: '张三', age: 20, city: '北京'}, {name: '李四', age: 25, city: '上海'}, // 更多... ]; // 将json转换为workbook对象 var workbook = XLSX.utils.book_new(); var worksheet = XLSX.utils.json_to_sheet(jsonData); XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1'); // 导出为 excel 文件 var wbout = XLSX.write(workbook, {bookType:'xlsx', bookSST:true, type: 'binary'}); var blob = new Blob([s2ab(wbout)], {type:"application/octet-stream"}); saveAs(blob, "output.xlsx"); // 将字符串转为ArrayBuffer function s2ab(s) { var buf = new ArrayBuffer(s.length); var view = new Uint8Array(buf); for (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF; return buf; } ``` 请注意,在实际项目中,请根据你的具体需求选择合适的库,并确保处理好兼容性问题。
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部