明霞山资源网 Design By www.htccd.com
本文实例讲述了Nodejs技巧之Exceljs表格操作用法。分享给大家供大家参考,具体如下:
工作中我们可能会遇到制作表格的需求,那么针对nodejs如何制作一个汇总表格呢?
今天我们就在此介绍下exceljs 的基本使用,应该可以满足我们大部分的需求。
第一部分 下载
npm install exceljs
第二部分 基本的配置
var Excel = require("exceljs"); var workbook = new Excel.Workbook(); // 基本的创建信息 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时,整个框的位置,大小 workbook.views = [ { x: 0, y: 0, width: 1000, height: 2000, firstSheet: 0, activeTab: 1, visibility: "visible" } ]; // 标签创建 var worksheet = workbook.addWorksheet("第一个标签"); // 带颜色的 var worksheet2 = workbook.addWorksheet("第二个标签", { properties: { tabColor: { argb: "FFC0000" } } }); // 遍历标签 workbook.eachSheet((worksheet, sheetId) => { console.log("标签ID:", sheetId) }) // console.log(worksheet); // 删除一个标签 workbook.removeWorksheet(2) var firstSheet = workbook.getWorksheet(1); console.log("标签信息-id", firstSheet.id); console.log("获取总的:行/实际行 /列/实际列 个数: ", firstSheet.rowCount, firstSheet.actualColumnCount, firstSheet.columnCount, firstSheet.actualColumnCount); // 添加那个筛选箭头 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(); // 标签创建 var worksheet = workbook.addWorksheet("第一个标签"); // 带颜色的 var worksheet2 = workbook.addWorksheet("第二个标签", { properties: { tabColor: { argb: "FFC0000" } } }); // 设置列 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' } } ]; /// 根据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'); // 合并四个格子 worksheet.mergeCells('A10', 'B11'); // ===== 格式化显示, // 数字 1.6 显示 '1 3/5' worksheet.getCell('A1').value = 1.6; worksheet.getCell('A1').numFmt = '# "测试字体" // ==== 对齐方式 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' } }; // 图片相关操作直接看GitHub就好 // 直接创建一个Excel表 workbook.xlsx.writeFile("second.xlsx").then(function () { console.log("saved"); });
希望本文所述对大家node.js程序设计有所帮助。
明霞山资源网 Design By www.htccd.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
明霞山资源网 Design By www.htccd.com
暂无评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。