介绍
exceljs是一个读取,操作和编写电子表格数据和样式到XLSX和JSON,从Excel电子表格文件逆向工程设计的项目。之所以称它最强,是因为它的功能强大,简直就是专门为Excel打造的前端处理插件,到目前为止,笔者还尚未见过比这个更强大的前端插件,由于其强悍的前端处理能力,这就意味着有很多操作将减轻服务器端压力,而且性能更加出色!
Github地址
https://github.com/exceljs/exceljs
安装
安装我们当然是首选npm
npm install 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);
// 将工作簿日期设置为1904日期系统
workbook.properties.date1904 = true;
工作簿视图
“工作簿”视图控制Excel在查看工作簿时打开多少个单独的窗口。
workbook.views = [
{
x: 0, y: 0, width: 10000, height: 20000,
firstSheet: 0, activeTab: 1, visibility: 'visible'
}
]
添加工作表
var sheet = workbook.addWorksheet('My Sheet');
用addWorksheet函数的第二个参数设置工作表的选项。
- 例如:
// 创建一个红色标签颜色的工作表
var sheet = workbook.addWorksheet('My Sheet', {properties:{tabColor:{argb:'FFC0000'}}});
// 创建一个隐藏网格线的工作表
var sheet = workbook.addWorksheet('My Sheet', {properties: {showGridLines: false}});
// 创建一个第一行和列冻结的工作表
var sheet = workbook.addWorksheet('My Sheet', {views:[{xSplit: 1, ySplit:1}]});
删除工作表
使用工作表id从工作簿中删除工作表。
- 例如:
// 创建工作表
var sheet = workbook.addWorksheet('My Sheet');
// 使用工作表ID删除工作表
workbook.removeWorksheet(sheet.id)
访问工作表
// 迭代所有sheet
// 注意:workbook.worksheets.forEach仍然可以工作,但这个方式更好
workbook.eachSheet(function(worksheet, sheetId) {
// ...
});
// 按名称获取表格
var worksheet = workbook.getWorksheet('My Sheet');
// 按ID获取表格
var worksheet = workbook.getWorksheet(1);
。。。。。。以上只是部分文档中的介绍,感兴趣的小伙伴可以移步Github直接查看详细的文档,完整功能了解可参考下一个标题
PS:提供了中文文档
完整功能列表
- 冻结视图
- 拆分视图
- 数字格式
- 字体
- 对准
- 边框
- 填充
- 富文本
- 空值
- 合并单元格
- 数值
- 字符串值
- 日期值
- 超链接值
- 公式值
- 丰富的文本值
- 布尔值
- 错误值
虽然以上功能还不能包括了Excel的所有功能,但也已经相当的丰富了!
总结
在之前的文章中曾介绍过另一个不错的前端Excel插件,感兴趣的可以去看一看,exceljs拥有这么丰富的功能,如果你想开发一个功能强大的Web电子表格,不妨多尝试尝试!