摘要:寫入新的文件完成合并完整代碼文件夾路徑把要合并的文件放在文件夾內提交成績開始合并表格內部字段不一致,請檢查后再合并。
簡述需求 我們在用Excel表格的時候經常需要合并數據,比如統計整個年級的數據的時候,需要合并每個班成績的時候,這就需要一個快速將很多張數據類型相同表合并的組件 需要的配置
現在Node.js能夠很好進行文件的讀寫操作,只要能讀寫就能合并
社區已經有了封裝好的一些插件比如node-xlsx,cnpm install就能用
引入Node本來的文件讀寫工具
const xlsx = require("node-xlsx") const fs = require("fs")獲取文件決定路徑,定義合并數組
我們將文件放到excle里,而合并的結果放到result里
const _file = `${__dirname}/excel/` const _output = `${__dirname}/result/` let dataList = [ { name: "提交成績",//你sheet的名字 data: [] }]讀出數據 fs.readdir(_file, function(err, files) {}里可以將所有_file讀出來放到files數組里
let excelData = xlsx.parse(`${_file}${item}`)//拼接的絕對路徑 console.log(excelData) console.log(excelData[0].data)
files.forEach((item, index) => { try { console.log(`開始合并:${item}`) let excelData = xlsx.parse(`${_file}${item}`) if (excelData) { if (dataList[0].data.length > 0) { excelData[0].data.splice(0, 1) } dataList[0].data = dataList[0].data.concat(excelData[0].data) } } catch (e) { console.log("excel表格內部字段不一致,請檢查后再合并。") } })寫入新的文件
var buffer = xlsx.build(dataList) fs.writeFile(`${_output}resut.${new Date().getTime()}.xlsx`, buffer, function (err) { if (err) { throw err } console.log("x1B[33m%sx1b[0m", `完成合并:${_output}resut.${new Date().getTime()}.xlsx`) })完整代碼
const xlsx = require("node-xlsx") const fs = require("fs") // excel文件夾路徑(把要合并的文件放在excel文件夾內) const _file = `${__dirname}/excel/` const _output = `${__dirname}/result/` let dataList = [ { name: "提交成績", data: [] }] init() function init () { fs.readdir(_file, function(err, files) { console.log(files) if (err) { throw err } files.forEach((item, index) => { try { console.log(`開始合并:${item}`) let excelData = xlsx.parse(`${_file}${item}`) if (excelData) { if (dataList[0].data.length > 0) { excelData[0].data.splice(0, 1) } dataList[0].data = dataList[0].data.concat(excelData[0].data) } } catch (e) { console.log("excel表格內部字段不一致,請檢查后再合并。") } }) var buffer = xlsx.build(dataList) fs.writeFile(`${_output}resut.${new Date().getTime()}.xlsx`, buffer, function (err) { if (err) { throw err } console.log("x1B[33m%sx1b[0m", `完成合并:${_output}resut.${new Date().getTime()}.xlsx`) }) }) }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/105205.html
摘要:支持讀寫的模塊基于解析文件數據及生成文件,僅支持格式文件基于解析文件數據,支持及格式文件基于將數據生成導出文件,生成文件格式為基于從文件中提取數據,僅支持格式文件。代碼如下讀取文件內容將文件內容插入新的文件中 支持讀寫Excel的node.js模塊node-xlsx: 基于Node.js解析excel文件數據及生成excel文件,僅支持xlsx格式文件;excel-parser: 基于...
摘要:請求錯誤請求代碼封裝與基本一致,只是將換成即可。關于的使用是個能把組件的共享狀態抽取出來,當做一個全局單例模式進行管理。首先確保你的已經安裝,運行來安裝。 項目地址:https://huangxizhou.com/project/iMap 技術棧 Vue.js Vuex Axios Webpack Leancloud(express) Echarts Electron(electr...
摘要:前言之前斷斷續續學習了,今天就拿拉勾網練練手,順便通過數據了解了解最近的招聘行情哈方面算是萌新一個吧,希望可以和大家共同學習和進步。 前言 之前斷斷續續學習了node.js,今天就拿拉勾網練練手,順便通過數據了解了解最近的招聘行情哈!node方面算是萌新一個吧,希望可以和大家共同學習和進步。 一、概要 我們首先需要明確具體的需求: 可以通過node index 城市 職位來爬取相關信...
摘要:起因運營人員需要將后臺的表格導出成,由于后端的同學忙于其他事情,想著是不是可以自己做一個服務來生成。另外再搭配就可以提供一個允許跨域請求的服務。這樣一個簡單的接口就寫完了,只要調用傳入和就可以生成文檔。 起因 運營人員需要將后臺的表格導出成Excel,由于后端的同學忙于其他事情,想著是不是可以自己做一個服務來生成。了解到有node-xlsx這樣的工具以后就開工了。 框架 后臺選用了ko...
摘要:使用中庫進行的生成操作近日,應領導要求,從網上抓了一大批數據存入了數據庫,可是媽媽批,市場妹子要的是表格啊,畢竟妹子的話還是要聽的關鍵人家語氣蠻好的,就從網上查一些資料。 ## 使用nodejs中node-xlsx庫進行excel的生成操作 ## 近日,應領導要求,從網上抓了一大批數據存入了數據庫,可是媽媽批 ,市場妹子要的是excel表格啊,畢竟妹子的話還是要聽的(關鍵人家語氣蠻好的...
閱讀 3568·2021-11-16 11:45
閱讀 2114·2021-11-08 13:23
閱讀 2219·2021-10-11 10:59
閱讀 2898·2021-09-27 13:36
閱讀 2484·2019-08-30 15:54
閱讀 2674·2019-08-29 16:58
閱讀 2792·2019-08-29 16:56
閱讀 1346·2019-08-26 13:52