json文件转Excel
生活随笔
收集整理的這篇文章主要介紹了
json文件转Excel
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數據導出
1.node.js exceljs轉化插件
1.1需要引入
npm install --save exceljs
代碼如下
var Excel = require('exceljs');var start_time = new Date();var workbook = new Excel.stream.xlsx.WorkbookWriter({filename: './導出成功文件.xlsx' }); var worksheet = workbook.addWorksheet('Sheet');worksheet.columns = [{ header: '姓名', key: 'name' },{ header: '電話', key: 'tel' },{ header: '中獎信息', key: 'name2' },{ header: '省市區(qū)', key: 'address' },{ header: '詳細地址', key: 'addressContent' }, ]; tel: var data = [{name:"大錘",tel:"110110",name2:"超級宇宙手辦",address:"中國省中國市中國",addressContent:"地球村"} ] var length = data.length;// 當前進度 var current_num = 0; var time_monit = 400; var temp_time = Date.now();console.log('開始添加數據'); // 開始添加數據 for(let i in data) {worksheet.addRow(data[i]).commit();current_num = i;if(Date.now() - temp_time > time_monit) {temp_time = Date.now();console.log((current_num / length * 100).toFixed(2) + '%');} } console.log('添加數據完畢:', (Date.now() - start_time)); workbook.commit();var end_time = new Date(); var duration = end_time - start_time;console.log('用時:' + duration); console.log("程序執(zhí)行完畢");其中 workbook 為 導出文件和路徑
data 為導出數據
columns 為前面的header 為導出到exel的頭 key值必須與數據對應
在就一些語法其實內容很簡單 有興趣的可以學習下exceljs這個庫!
node.js啟動
node server.js
2. 利用node-xls導出excel
2.1需要引入
npm i --save node-xlsx
'use strict'; /*** @name 訂單數據拉取* @version 1.0.0 * @author yj* @Time 2020年12月14日10:10:09*/const xlsx = require('node-xlsx'); const fs = require('fs');async function dataPull() {let tableData = [{ t_id: 1, nickname: "蒙牛", clipart1: 182, clipart2: 192, clipart3: 193, clipart4: 99, color1: 1, color2: 22, color3: 98 }, { t_id: 2, nickname: "伊利", clipart1: 182, clipart2: 192, clipart3: 193, clipart4: 99, color1: 1, color2: 22, color3: 98 }]const xlsx_test_data = [{name: 'm豆訂單統(tǒng)計表',data: [[`m豆訂單`],['id','昵稱','clipart1','clipart2','clipart3',"clipart4","color1","color2","color3",],]}];for (let i = 0; i < tableData.length; i++) {// 每一行let arr = [];// 每一列的數據t_idarr.push([tableData[i].t_id])arr.push([tableData[i].nickname])arr.push([tableData[i].clipart1])arr.push([tableData[i].clipart2])arr.push([tableData[i].clipart3])arr.push([tableData[i].clipart4])arr.push([tableData[i].color1])arr.push([tableData[i].color2])arr.push([tableData[i].color3])// console.log(tableData[i]);xlsx_test_data[0].data.push(arr);}const range0 = { s: { c: 0, r: 0 }, e: { c: 8, r: 0 } };let options = {'!merges': [range0] };// console.log("?????????",writeFile());const localPath = await writeFile('訂單統(tǒng)計表', xlsx_test_data, options);console.log(localPath); }//寫文件 function writeFile(name = "", data, options) {return new Promise((resolve, reject) => {try {let buffer = xlsx.build(data, options);// let tempDir = this.app.config.temp.dir;let tempfile = './' + name + new Date().getTime() + '.xlsx';fs.writeFile(tempfile, buffer, (err) => {if (!err) resolve(tempfile);});} catch (e) {console.log(e)reject(e);}}); }dataPull();雖然這幾種方法都可導出excel,但是我一直不會怎么去設置樣式!(網上看了很多種資源都是用xls-style)但是我一直不會用 如果有大佬知道,求賜教,謝謝謝謝謝謝謝!!!!!
總結
以上是生活随笔為你收集整理的json文件转Excel的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: alloca函数的风险_alloca的函
- 下一篇: U-boot移槙