前言
Excel在商业数据处理、财务管理中扮演着极为重要的角色,前端中也需要经常使用Excel进行相关的数据处理,@gradecam/exceljs是一个基于JavaScript的客户端Excel读写库,兼容Node.js和Web浏览器,提供了流畅的Excel文档读写能力,而且操作简单易用。
安装
在Node.js项目中,我们可以使用npm进行安装:
npm i @gradecam/exceljs
在Web项目中,可以使用script
标签导入:
<script src="//unpkg.com/@gradecam/exceljs"></script>
如果我们需要兼容IE,那么还需要额外导入core-js
:
<script src="//unpkg.com/core-js-bundle"></script>
使用
创建Workbook并添加工作表
const ExcelJS = require('exceljs'); // 生成一个Workbook const workbook = new ExcelJS.Workbook(); // 添加一个工作表 const sheet1 = workbook.addWorksheet('Sheet1');
设置工作表属性
-- -------------------- ---- ------- -- ------- ------------ - -- ------ --------- ------- -- ----------- ----- --- -- --------------- ----------------------- ------ ---- ------- -- - ----------------- -- --- ------- ------ --------- --- --- ----- ------------------ ---
设置工作表样式
sheet1.row(1).height = 40; // 设置行高 sheet1.row(1).font = {bold: true, size: 16}; // 设置字体样式 sheet1.row(1).fill = {type: 'pattern', pattern:'solid', fgColor:{argb:'FFFFAA00'}}; // 设置背景色 sheet1.getColumn('A').width = 20; // 设置列宽 sheet1.getColumn('B').alignment = {horizontal: 'center'}; // 设置水平居中 sheet1.getColumn('C').border = {top: {style: 'thin'}, bottom: {style: 'thin'}}; // 设置边框样式
设置单元格内容
// 直接设置 sheet1.getCell('A1').setValue('Hello, world!'); // 先加载并应用样式,再设置内容 sheet1.getCell('A1').loadStyle({font: {italic: true}}).setValue('Hello, world!'); // 设置公式 sheet1.getCell('C1').value = {formula: 'A1+B1'};
读取工作表内容
-- -------------------- ---- ------- -- ------- ----- -- - --------------------------- ---------------- -- ------ ----- --- - ------------------------ ----------------- -- ------ ----- ------ - ----------------------------- --------------------
保存工作表
-- -------------------- ---- ------- -- ----- ------------------------------------ -- -------- ----- ------ - ----- ---------------------------- ----- ---- - --- --------------- ----- ---- - ---------------------------- --------- - -------------------------- ------------- - ----------- -------------
总结
@gradecam/exceljs是一个轻量级的JavaScript库,通过学习使用该库,我们可以轻松地实现Excel读写功能,处理各种数据,提高前端开发效率,受益匪浅。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005a17d81e8991b448ed533