百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Web前端最强JavaScript Excel处理插件——exceljs

zhezhongyun 2024-12-13 17:13 39 浏览

介绍

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:提供了中文文档

完整功能列表

  • 创建工作簿
  • 设置工作簿属性
  • 工作簿视图
  • 添加工作表
  • 删除工作表
  • 访问工作表
  • 工作表状态
  • 工作表属性
  • 页面设置
  • 页眉和页脚
  • 工作表视图
    1. 冻结视图
    2. 拆分视图
  • Auto Filters
  • 处理单个单元格
  • 合并单元格
  • 定义名称
  • 数据验证
  • 样式
    1. 数字格式
    2. 字体
    3. 对准
    4. 边框
    5. 填充
    6. 富文本
  • 大纲级别
  • 图片
  • 文件 I/O
  • XLSX:读 XLSX写 XLSX
  • CSV:读 CSV写 CSV
  • Streaming I/O:Streaming XLSX
  • 浏览器
  • 价类型
    1. 空值
    2. 合并单元格
    3. 数值
    4. 字符串值
    5. 日期值
    6. 超链接值
    7. 公式值
    8. 丰富的文本值
    9. 布尔值
    10. 错误值

    虽然以上功能还不能包括了Excel的所有功能,但也已经相当的丰富了!

    总结

    在之前的文章中曾介绍过另一个不错的前端Excel插件,感兴趣的可以去看一看,exceljs拥有这么丰富的功能,如果你想开发一个功能强大的Web电子表格,不妨多尝试尝试!


    相关推荐

    Chinese vice premier calls for multilateralism at Davos

    DAVOS,Switzerland,Jan.21(Xinhua)--ChineseVicePremierDingXuexiangdeliveredaspeechatthe...

    用C++ Qt手把手打造炫酷汽车仪表盘

    一、项目背景与核心价值在车载HMI(人机交互界面)开发领域,虚拟仪表盘是智能座舱的核心组件。本项目基于C++Qt框架实现一个具备专业级效果的时速表模块,涵盖以下技术要点:Qt图形绘制核心机制(QPa...

    系列专栏(八):JS的第七种基本类型Symbols

    ES6作为新一代JavaScript标准,已正式与广大前端开发者见面。为了让大家对ES6的诸多新特性有更深入的了解,MozillaWeb开发者博客推出了《ES6InDepth》系列文章。CSDN...

    MFC界面开发工具BCG v31.1 - 增强功能区、工具箱功能

    点击“了解更多”获取工具亲爱的BCGSoft用户,我们非常高兴地宣布BCGControlBarProfessionalforMFC和BCGSuiteforMFCv31.2正式发布!新版本支...

    雅居乐上调出售吉隆坡项目保留金,预计亏损扩大至6.64亿元

    1月2日,雅居乐集团(03383.HK)发布有关出售一家附属公司股权披露交易的补充公告。此前雅居乐集团曾公告,2023年11月8日(交易时段后),集团子公司AgileRealEstateDeve...

    Full text: Address by Vice Premier Ding Xuexiang's at World Economic Forum Annual Meeting 2025

    DAVOS,Switzerland,Jan.21(Xinhua)--ChineseVicePremierDingXuexiangonTuesdaydeliveredasp...

    手机性能好不好 GPU玄学曲线告诉你

    前言各位在看测试者对手机进行评测时或许会见过“安卓玄学曲线”,所谓中的安卓玄学曲线真名为“ProfileGPURendering”。大多数情况下,在系统“开发者选项中被称为“GPU显示配置文件”或...

    小迈科技 X Hologres:高可用的百亿级广告实时数仓建设

    通过本文,我们将会介绍小迈科技如何通过Hologres搭建高可用的实时数仓。一、业务介绍小迈科技成立于2015年1月,是一家致力以数字化领先为优势,实现业务高质量自增长的移动互联网科技公司。始...

    vue3新特征和所有的属性,方法汇总及其对应源码分析

    vue3新特征汇总与源码分析(备注:vue3使用typescript编写)何为应用?constapp=Vue.createApp({})app就是一个应用。应用的配置和应用的API就是app应用...

    China's stability redefines global trade in a volatile era

    ContainersareunloadedatQingdaoPort,eastChina'sShandongProvince,December10,2024.[Photo/X...

    QML 实现图片帧渐隐渐显轮播

    前言所谓图片帧渐隐渐显轮播就是,一组图片列表,当前图片逐渐改变透明度隐藏,同时下一张图片逐渐改变透明度显示,依次循环,达到渐隐渐显的效果,该效果常用于图片展示,相比左右自动切换的轮播方式来说,这种方式...

    前端惊魂夜:我竟在CSS里写出了JavaScript?

    凌晨两点,写字楼里只剩下我工位上的一盏孤灯。咖啡杯见底,屏幕的光映在疲惫的眼镜片上。为了实现一个极其复杂的动态渐变效果,我翻遍了MDN文档,试遍了所有已知的CSS技巧,却始终差那么一口气。“要是CSS...

    10 个派上用场的 Flutter 小部件

    尝试学习一门新语言可能会令人恐惧和厌烦。很多时候,我们希望我们知道早先存在的某些功能。在今天的文章中,我将告诉你我希望早点知道的最方便的颤振小部件。SpacerSpacer创建一个可调整的空白空...

    让我的 Flutter 代码整洁 10 倍的 5 种

    如果你曾在Flutter中使用过SingleTickerProviderStateMixin来制作动画,猜猜怎么着?你已经使用过Mixin了——恭喜你,你已经处于一段你甚至不知道的关...

    daisyUI - 主题漂亮、代码纯净!免费开源的 Tailwind CSS 组件库

    漂亮有特色的CSS组件库,组件代码非常简洁,也支持深度定制主题、定制组件,可以搭配Vue/React等框架使用。关于daisyUIdaisyUI是一款极为流行的CSSUI组件库,...