Nodejs excel(.xlsx) 文件的讀寫方式
更新時間:2022年09月15日 10:39:08 作者:言小溪
這篇文章主要介紹了Nodejs excel(.xlsx) 文件的讀寫方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
Nodejs excel(.xlsx) 文件讀寫
data.xlsx
名字 | 年齡 |
---|---|
張三 | 18 |
李四 | 19 |
王五 | 20 |
獲取數(shù)據(jù)
import xlsx from "xlsx"; const workBook = xlsx.readFile("./data.xlsx");??
獲取第一個 execle 工作簿表格
let name = workBook.SheetNames[0] let sheet = workBook.Sheets[name]
1. 輸出 json 格式
console.log(xlsx.utils.sheet_to_json(sheet));
[ ?? ?{ ?? ??? ?名字:"張三", ?? ??? ?年齡:"18"?? ? ?? ?}, ?? ?{ ?? ??? ?名字:"李四", ?? ??? ?年齡:"19" ?? ?}, ?? ?{ ?? ??? ?名字:"王五", ?? ??? ?年齡:"20" ?? ?} ]
2. 輸出 csv 格式
console.log(xlsx.utils.sheet_to_csv(sheet));
名字,年齡,,,,,,,,,,,,,,,,,
張三,18,,,,,,,,,,,,,,,,,
李四,19,,,,,,,,,,,,,,,,,
王五,20,,,,,,,,,,,,,,,,,
3. 輸出 html 格式
console.log(xlsx.utils.sheet_to_html(sheet));
<html><head><meta charset="utf-8"/><title>SheetJS Table Export</title></head><body><table><tr><td data-t="s" data-v="名字" id="sjs-A1">名字</td><td data-t="s" data-v="年齡" id="sjs-B1">年齡</td></tr><tr><td data-t="s" data-v="張三" id="sjs-A2">張三</td><td data-t="n" data-v="18" id="sjs-B2">18</td></tr><tr><td data-t="s" data-v="李四" id="sjs-A3">李四</td><td data-t="n" data-v="19" id="sjs-B3">19</td></tr><tr><td data-t="s" data-v="王五" id="sjs-A4">王五</td><td data-t="n" data-v="20" id="sjs-B4">20</td></tr></table></body></html>
4.輸出 formulae 格式
console.log(xlsx.utils.sheet_to_formulae(sheet));
[ "A1='名字", "B1='年齡", "A2='張三", 'B2=18', "A3='李四", 'B3=19', "A4='王五", 'B4=20' ]
輸出成文件
xlsx.writeFile(workBook, "./output.xlsx");
全部代碼
import xlsx from "xlsx"; const workBook = xlsx.readFile("./data.xlsx"); let name = workBook.SheetNames[0]; let sheet = workBook.Sheets[name]; console.log(xlsx.utils.sheet_to_json(sheet)); console.log(xlsx.utils.sheet_to_csv(sheet)); console.log(xlsx.utils.sheet_to_html(sheet)); console.log(xlsx.utils.sheet_to_formulae(sheet)); xlsx.writeFile(workBook, "./output.xlsx");
方法封裝
import xlsx from "xlsx"; /** * 解析 excel 文件成 json 對象 * @param {string} filePath */ export function parseExcel(filePath) { // 讀取文件并解析工作簿 const workBook = xlsx.readFile(filePath); // 獲取第一個表格 let name = workBook.SheetNames[0]; // 解析表格 return xlsx.utils.sheet_to_json(workBook.Sheets[name]); } /** * 將對象數(shù)據(jù)解析成 excel * @param {string} filePath 路徑 * @param {Array} list 數(shù)據(jù) * @param {string} sheetName 表格名字, 默認 Sheet1 */ export function writeExcel(filePath, list, sheetName = "Sheet1") { // 新建工作簿 const workBook = xlsx.utils.book_new(); // 添加表格 xlsx.utils.book_append_sheet(workBook, xlsx.utils.json_to_sheet(list), sheetName); // 輸出文件 xlsx.writeFile(workBook, filePath); }
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Bun入門學習教程吊打Node或Deno的現(xiàn)代JS運行時
這篇文章主要為大家介紹了一款吊打Node或Deno的現(xiàn)代JS運行時,Bun入門學習教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-07-07基于nodejs res.end和res.send的區(qū)別
今天小編就為大家分享一篇基于nodejs res.end和res.send的區(qū)別,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05基于Node的Axure文件在線預(yù)覽的實現(xiàn)代碼
這篇文章主要介紹了基于Node的Axure文件在線預(yù)覽的實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-08-08Node.js基礎(chǔ)入門之path模塊,url模塊,http模塊使用詳解
這篇文章主要為大家介紹了Node.js中的三個模塊(path、url、http)的使用詳解,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下2022-03-03在Node.js中實現(xiàn)后端與前端的交互的方法詳解
在前后端不分離的應(yīng)用模式中,前端頁面看到的效果都是由后端控制,由后端渲染頁面或重定向,也就是后端需要控制前端的展示,前端與后端的耦合度很高, 所以本文給大家介紹了在Node.js中實現(xiàn)后端與前端的交互的方法,需要的朋友可以參考下2024-09-09