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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

json文件转Excel

發布時間:2023/12/20 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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: '省市區', 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("程序執行完畢");

其中 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豆訂單統計表',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('訂單統計表', 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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。