日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

json文件转Excel

發(fā)布時(shí)間:2023/12/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 json文件转Excel 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

數(shù)據(jù)導(dǎo)出

1.node.js exceljs轉(zhuǎn)化插件

1.1需要引入

npm install --save exceljs

代碼如下

var Excel = require('exceljs');var start_time = new Date();var workbook = new Excel.stream.xlsx.WorkbookWriter({filename: './導(dǎo)出成功文件.xlsx' }); var worksheet = workbook.addWorksheet('Sheet');worksheet.columns = [{ header: '姓名', key: 'name' },{ header: '電話', key: 'tel' },{ header: '中獎(jiǎng)信息', key: 'name2' },{ header: '省市區(qū)', key: 'address' },{ header: '詳細(xì)地址', key: 'addressContent' }, ]; tel: var data = [{name:"大錘",tel:"110110",name2:"超級(jí)宇宙手辦",address:"中國(guó)省中國(guó)市中國(guó)",addressContent:"地球村"} ] var length = data.length;// 當(dāng)前進(jìn)度 var current_num = 0; var time_monit = 400; var temp_time = Date.now();console.log('開始添加數(shù)據(jù)'); // 開始添加數(shù)據(jù) 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('添加數(shù)據(jù)完畢:', (Date.now() - start_time)); workbook.commit();var end_time = new Date(); var duration = end_time - start_time;console.log('用時(shí):' + duration); console.log("程序執(zhí)行完畢");

其中 workbook 為 導(dǎo)出文件和路徑

data 為導(dǎo)出數(shù)據(jù)

columns 為前面的header 為導(dǎo)出到exel的頭 key值必須與數(shù)據(jù)對(duì)應(yīng)

在就一些語(yǔ)法其實(shí)內(nèi)容很簡(jiǎn)單 有興趣的可以學(xué)習(xí)下exceljs這個(gè)庫(kù)!

node.js啟動(dòng)

node server.js

2. 利用node-xls導(dǎo)出excel

2.1需要引入

npm i --save node-xlsx

'use strict'; /*** @name 訂單數(shù)據(jù)拉取* @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)計(jì)表',data: [[`m豆訂單`],['id','昵稱','clipart1','clipart2','clipart3',"clipart4","color1","color2","color3",],]}];for (let i = 0; i < tableData.length; i++) {// 每一行let arr = [];// 每一列的數(shù)據(jù)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)計(jì)表', 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();

雖然這幾種方法都可導(dǎo)出excel,但是我一直不會(huì)怎么去設(shè)置樣式!(網(wǎng)上看了很多種資源都是用xls-style)但是我一直不會(huì)用 如果有大佬知道,求賜教,謝謝謝謝謝謝謝!!!!!

總結(jié)

以上是生活随笔為你收集整理的json文件转Excel的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。