Nodejs技巧之Exceljs表格操作用法示例
本文實(shí)例講述了Nodejs技巧之Exceljs表格操作用法。分享給大家供大家參考,具體如下:
工作中我們可能會(huì)遇到制作表格的需求,那么針對(duì)nodejs如何制作一個(gè)匯總表格呢?
今天我們就在此介紹下exceljs 的基本使用,應(yīng)該可以滿足我們大部分的需求。
第一部分 下載
npm install exceljs
第二部分 基本的配置
var Excel = require("exceljs"); var workbook = new Excel.Workbook(); // 基本的創(chuàng)建信息 workbook.creator = "Me"; workbook.lastModifiedBy = "Her"; workbook.created = new Date(1985, 8, 30); workbook.modified = new Date(); workbook.lastPrinted = new Date(2016, 9, 27); // 視圖大小, 打開Excel時(shí),整個(gè)框的位置,大小 workbook.views = [ { x: 0, y: 0, width: 1000, height: 2000, firstSheet: 0, activeTab: 1, visibility: "visible" } ]; // 標(biāo)簽創(chuàng)建 var worksheet = workbook.addWorksheet("第一個(gè)標(biāo)簽"); // 帶顏色的 var worksheet2 = workbook.addWorksheet("第二個(gè)標(biāo)簽", { properties: { tabColor: { argb: "FFC0000" } } }); // 遍歷標(biāo)簽 workbook.eachSheet((worksheet, sheetId) => { console.log("標(biāo)簽ID:", sheetId) }) // console.log(worksheet); // 刪除一個(gè)標(biāo)簽 workbook.removeWorksheet(2) var firstSheet = workbook.getWorksheet(1); console.log("標(biāo)簽信息-id", firstSheet.id); console.log("獲取總的:行/實(shí)際行 /列/實(shí)際列 個(gè)數(shù): ", firstSheet.rowCount, firstSheet.actualColumnCount, firstSheet.columnCount, firstSheet.actualColumnCount); // 添加那個(gè)篩選箭頭 worksheet.autoFilter = 'A1:C1'; worksheet.getRow(5).font = { size: 14, bold: true }; worksheet.getCell("A2").value = "Site"; worksheet.getCell("A2").font = { name: "Arial Black", color: { argb: "FF00FF00" }, family: 2, size: 14, italic: true, bold: true }; // save workbook to disk workbook.xlsx.writeFile("first.xlsx").then(function() { console.log("saved"); });
第三部分 行列的操作
看代碼看注釋
var Excel = require("exceljs"); var workbook = new Excel.Workbook(); // 標(biāo)簽創(chuàng)建 var worksheet = workbook.addWorksheet("第一個(gè)標(biāo)簽"); // 帶顏色的 var worksheet2 = workbook.addWorksheet("第二個(gè)標(biāo)簽", { properties: { tabColor: { argb: "FFC0000" } } }); // 設(shè)置列 worksheet.columns = [{ header: 'Rating Period', key: 'id', width: 38 }, { header: 'Name', key: 'name', width: 32, }, { header: 'D.O.B.', key: 'DOB', width: 10, style: { numFmt: 'dd/mm/yyyy' } } ]; /// 根據(jù)ID添加值 worksheet.addRow({ id: 1, name: 'John Doe', dob: new Date(1970, 1, 1) }); worksheet.addRow({ id: 2, name: 'Jane Doe', dob: new Date(1965, 1, 7) }); worksheet.getCell(1).value = "Z"; // 直接賦值 worksheet.getCell('A6').value = "1989"; // 合并單元格 worksheet.mergeCells('A4:A7'); // 合并四個(gè)格子 worksheet.mergeCells('A10', 'B11'); // ===== 格式化顯示, // 數(shù)字 1.6 顯示 '1 3/5' worksheet.getCell('A1').value = 1.6; worksheet.getCell('A1').numFmt = '# ?/?'; // 顯示 1.60% worksheet.getCell('B1').value = 0.016; worksheet.getCell('B1').numFmt = '0.00%'; // ===== 字體顯示 worksheet.getCell('A3').font = { // 字體名 name: 'Comic Sans MS', // Font family for fallback. An integer value. family: 4, // 字體大小 size: 16, // 下劃線 underline: true, // 加粗 bold: true, }; worksheet.getCell('A3').value = "測(cè)試字體" // ==== 對(duì)齊方式 worksheet.getCell('A1').alignment = { vertical: 'top', horizontal: 'left' }; worksheet.getCell('B1').alignment = { vertical: 'middle', horizontal: 'center' }; worksheet.getCell('C1').alignment = { vertical: 'bottom', horizontal: 'right' }; // ===== 邊框 worksheet.getCell('A1').border = { top: { style: 'double', color: { argb: 'FF00FF00' } }, left: { style: 'double' }, bottom: { style: 'thin' }, right: { style: 'thin' } }; // ==== 填充顏色 worksheet.getCell('A1').fill = { // 模式 type: 'pattern', // 填充 pattern: 'solid', // fgColor: { // argb: 'FFFF0000' // }, // 背景色 bgColor: { argb: 'FF0000FF' } }; // 圖片相關(guān)操作直接看GitHub就好 // 直接創(chuàng)建一個(gè)Excel表 workbook.xlsx.writeFile("second.xlsx").then(function () { console.log("saved"); });
希望本文所述對(duì)大家node.js程序設(shè)計(jì)有所幫助。
相關(guān)文章
Node.js中Request模塊處理HTTP協(xié)議請(qǐng)求的基本使用教程
這篇文章主要介紹了Node.js中Request模塊處理HTTP請(qǐng)求的基本使用教程,request也支持OAuth的簽名請(qǐng)求,很好很強(qiáng)大,需要的朋友可以參考下2016-03-03NodeJs生成sitemap站點(diǎn)地圖的方法示例
這篇文章主要介紹了NodeJs生成sitemap站點(diǎn)地圖的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06Node中完整的?node?addon?實(shí)現(xiàn)流程
這篇文章主要介紹了Node中完整的node?addon實(shí)現(xiàn)流程,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09Node.js中MongoDB插入數(shù)據(jù)的實(shí)現(xiàn)方法
在Node.js中,可以使用MongoDB原生驅(qū)動(dòng)或Mongoose庫(kù)來連接和操作MongoDB數(shù)據(jù)庫(kù),本文就來介紹一下Node.js中MongoDB插入數(shù)據(jù)的實(shí)現(xiàn)方法,感興趣的可以了解一下2023-12-12Node.js?網(wǎng)絡(luò)框架koa?compose中間件使用解析
這篇文章主要為大家介紹了Node.js?網(wǎng)絡(luò)框架koa?compose中間件使用解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12