久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > js-xlsx用法介紹

js-xlsx用法介紹

來源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-21 15:06:41 1700550401

一、js-xlsx是什么

js-xlsx是一款純JavaScript實(shí)現(xiàn)的解析和生成Excel文件的工具,可以輕松地在瀏覽器中讀取、修改和生成Excel文件。

js-xlsx支持xlsx、xlsb、xlsm、xls、xml和csv文件格式,同時(shí)還支持解析和輸出Excel文件中的多個(gè)工作簿和工作表。

其中,解析Excel文件使用的工具為SheetJS/js-xlsx中的XLSX工具,生成Excel文件使用的工具為SheetJS/js-xlsx中的JSZip工具。

二、js-xlsx的安裝和引用

通過npm安裝:

npm install xlsx

或者直接在頁面中引入:


使用Node.js引入:

const XLSX = require('xlsx');

三、Excel文件的解析和讀取

使用js-xlsx可以輕松地讀取Excel文件。代碼示例:

const XLSX = require('xlsx');
const workbook = XLSX.readFile('example.xlsx');
const sheetNames = workbook.SheetNames;
const worksheet = workbook.Sheets[sheetNames[0]];
console.log(XLSX.utils.sheet_to_json(worksheet));

上述代碼中,首先通過XLSX.readFile函數(shù)讀取本地的example.xlsx文件。然后,使用workbook.SheetNames獲取工作簿的名稱,在這里我們?nèi)〉谝粋€(gè)工作簿的名稱。最后,通過workbook.Sheets[sheetNames[0]]獲取該工作簿的工作表并將其轉(zhuǎn)化為Json格式輸出。

四、Excel文件的生成和導(dǎo)出

使用js-xlsx可以輕松地生成Excel文件并進(jìn)行導(dǎo)出。代碼示例:

const XLSX = require('xlsx');
const data = [[1, 2, 3], [4, 5, 6]];
const worksheet = XLSX.utils.aoa_to_sheet(data);
const workbook = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(workbook, worksheet, "Sheet1");
XLSX.writeFile(workbook, "example.xlsx");

上述代碼中,首先定義了一個(gè)名為data的二維數(shù)組。然后通過XLSX.utils.aoa_to_sheet函數(shù)將該數(shù)組轉(zhuǎn)換為工作表。之后使用XLSX.utils.book_new()創(chuàng)建一個(gè)新的工作簿,并將該工作表添加到該工作簿中。最后,使用XLSX.writeFile函數(shù)將該工作簿導(dǎo)出為名為example.xlsx的文件。

五、Excel文件的處理和篩選

使用js-xlsx可以輕松地處理和篩選Excel文件。代碼示例:

const XLSX = require('xlsx');
const workbook = XLSX.readFile('example.xlsx');
const sheetNames = workbook.SheetNames;
const worksheet = workbook.Sheets[sheetNames[0]];
const data = XLSX.utils.sheet_to_json(worksheet);

const newData = data.filter(item => item[0] > 1);
const newWorksheet = XLSX.utils.json_to_sheet(newData);
const newWorkbook = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(newWorkbook, newWorksheet, "Sheet1");
XLSX.writeFile(newWorkbook, "new.xlsx");

上述代碼中,首先通過XLSX.readFile函數(shù)讀取本地的example.xlsx文件。然后使用XLSX.utils.sheet_to_json函數(shù)將工作表轉(zhuǎn)換為Json格式,并賦值給data變量。接著,通過篩選技巧(在本例中是選擇第一列的數(shù)值大于1的數(shù)據(jù))過濾掉數(shù)據(jù)并輸出為newData。最后,通過將newData數(shù)組轉(zhuǎn)換為新的工作表,新建一個(gè)工作簿newWorkbook并將該工作表添加到該工作簿中。最后使用XLSX.writeFile函數(shù)將該工作簿導(dǎo)出為名為new.xlsx的文件。

六、Excel文件的格式化和修飾

使用js-xlsx可以輕松地對(duì)Excel文件進(jìn)行格式化和修飾。代碼示例:

const XLSX = require('xlsx');
const workbook = XLSX.readFile('example.xlsx');
const sheetNames = workbook.SheetNames;
const worksheet = workbook.Sheets[sheetNames[0]];
const data = XLSX.utils.sheet_to_json(worksheet);

const newHeader = ['列1', '列2', '列3'];
const newWorksheet = XLSX.utils.json_to_sheet(data, {header: newHeader, skipHeader:true, cellDates:true});
XLSX.utils.format_cell(newWorksheet.A1, {font:{bold: true}});
XLSX.utils.format_cell(newWorksheet.B1, {font:{italic: true}});

const newWorkbook = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(newWorkbook, newWorksheet, "Sheet1");
XLSX.writeFile(newWorkbook, "new.xlsx");

上述代碼中,首先通過XLSX.readFile函數(shù)讀取本地的example.xlsx文件。然后使用XLSX.utils.sheet_to_json函數(shù)將工作表轉(zhuǎn)換為Json格式,并賦值給data變量。接著,定義了一個(gè)名為newHeader的新頭部數(shù)組。用它代替data數(shù)組中的原始頭部。經(jīng)過skipHeader:true的設(shè)置,新工作表中不會(huì)出現(xiàn) “列1”,“列2”,“列3”等過濾掉的數(shù)據(jù)。設(shè)置cellDates:true,將任意形式的日期格式轉(zhuǎn)化為JS日期對(duì)象。接下來通過XLSX.utils.format_cell函數(shù)對(duì)新工作簿中單元格進(jìn)行格式化,給A1單元格加粗字體,給B1單元格添加斜體字體。最后,通過將newData數(shù)組轉(zhuǎn)換為新的工作表,新建一個(gè)工作簿newWorkbook并將該工作表添加到該工作簿中。最后使用XLSX.writeFile函數(shù)將該工作簿導(dǎo)出為名為new.xlsx的文件。

tags: js-xlsx
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
set+e在編程中的應(yīng)用

一、什么是set+eSet+e是一種在編程中廣泛應(yīng)用的數(shù)據(jù)結(jié)構(gòu),也被稱為集合。簡單來說,集合就是一組互不相同的元素。在編程中,Set+e通常用于存儲(chǔ)...詳情>>

2023-11-21 17:27:06
實(shí)卡接碼短信平臺(tái)及其應(yīng)用

一、平臺(tái)介紹實(shí)卡接碼短信平臺(tái)是一種可以自動(dòng)處理短信驗(yàn)證碼的平臺(tái)。該平臺(tái)主要由短信接口、卡池管理、卡池調(diào)度、號(hào)碼顯匿、號(hào)碼推送等模塊組成...詳情>>

2023-11-21 16:43:54
Nginx日志格式詳解

一、Nginx日志格式Nginx是一款高性能的HTTP和反向代理服務(wù)器,它采用默認(rèn)的日志格式記錄所有請(qǐng)求和響應(yīng)。Nginx日志格式由以下幾個(gè)部分組成:log...詳情>>

2023-11-21 16:15:06
銀行卡號(hào)正則表達(dá)式詳解

一、銀行卡號(hào)正則校驗(yàn)銀行卡號(hào)是我們?nèi)粘I钪薪?jīng)常接觸到的一個(gè)數(shù)字串,如何驗(yàn)證銀行卡號(hào)的正確性呢?通過正則表達(dá)式來實(shí)現(xiàn)正則校驗(yàn)是最直接有...詳情>>

2023-11-21 16:04:18
Swift數(shù)組截取詳解

一、基本概念1、Swift數(shù)組//定義一個(gè)包含整型數(shù)據(jù)的數(shù)組var arr: Array = [120, 130, 140, 150, 160]2、ArraySlice數(shù)組片段A詳情>>

2023-11-21 16:00:41