有些业务场景需要导出excel表格,寻常这类需求其实是服务端完成,但是前端也有可以实现这类需求的库,这里我介绍最近使用过的三个库。

通用电子表格格式(CSF)

单元地址对象存储为{c:C, r:R},C和R是列号和行号。例如,单元格地址B5由单元地址对象表示{c:1, r:4}。

单元格范围对象存储为范围{s:S, e:E},其中S表示第一个单元格,E表示最后一个单元格。例如,范围A3:B7由单元格范围对象表示{s:{c:0, r:2}, e:{c:1, r:6}}

单元对象的基本键值对

特殊工作表键(可通过sheet[key]进行访问,每个以!开头):

sheet['!ref']:代表图纸范围。与图纸一起使用的功能应使用此参数来确定范围。分配超出范围的单元格将不被处理。当遇到显示不出来内容时,请检查范围是否正确

sheet['!margins']:代表页边距的对象。默认值遵循Excel的“常规”预设。Excel还具有“宽”和“窄”预设,但它们存储为原始测量值。

sheet['!cols']:列属性对象的数组。列宽实际上是以规范化的方式存储在文件中的,以“最大位数宽度”(呈示的数字0-9的最大宽度,以像素为单位)衡量。解析后,列对象将在wpx字段中存储像素宽度,在字段中存储字符宽度以及在wch字段中存储最大位数MDW。

sheet['!rows']:行属性对象的数组,如文档稍后所述。每个行对象对包括行高和可见性的属性进行编码。

sheet['!merges']:与工作表中相对应的范围对象数组合并单元格。纯文本格式不支持合并单元格。

SheetJS

sheetJS官网

sheetJS--github

优点:有很多实用方便的方法和格式转换

缺点:调整样式只有付费版可以修改

工具方法:

aoa_to_sheet 将JS数据数组转换为工作表。

json_to_sheet 将JS对象数组转换为工作表。

table_to_sheet 将DOM TABLE元素转换为工作表。

sheet_add_aoa 将JS数据数组添加到现有工作表中。

sheet_add_json 将JS对象数组添加到现有工作表中。

sheet_to_json 将工作表对象转换为JSON对象数组。

sheet_to_csv 生成定界符分隔值输出。

sheet_to_txt 生成UTF16格式的文本。

sheet_to_html 生成HTML输出。

sheet_to_formulae 生成公式列表(具有值后备)。

xlsx-style

xlsx-style地址

此项目是原始SheetJS / xlsx项目的分支。

但是并没有随着SheetJS更新而更新,所以有很多现有的SheetJS的实用工具方法这个插件里都没有。但是优点是可以导出excel样式并且不用付费

工具减少成了这些:

sheet_to_json 将工作簿对象转换为JSON对象数组。

sheet_to_csv 生成定界符分隔值输出

sheet_to_formulae 生成公式列表(具有值后备)

这个插件也是可以合并单元格的,所以如果不是很复杂的数据转换成excel,并且又需要样式调整的,可以选择这个插件。

具体调整样式例子请参考 纯前端利用 js-xlsx 之单元格样式(4)

LAY-EXCEL

这是一个改造最新 JS-XLSX 让其支持样式设置的插件,可以说是集合了JS-XLSX的所有优点,也克服了缺点(样式调整需要付费)的插件,博主原文在这里:

令最新JS-XLSX支持样式的改造方法

文档:

LAY-EXCEL 简单快捷的导出插件

html 导出excel 列被合并,前端实现导出excel单元格合并和调整样式相关推荐

  1. Easypoi 导出excel 使用注解实现一二级标题行的单元格合并

    Easypoi 导出excel 使用注解实现一二级标题行的单元格合并 先看一下最终效果图 上代码 Excel 模板实体类 @Data public class HxAdvisoryZJEndExcel ...

  2. 实现Excel行插入行删除特殊处理,单元格合并及动态条件单元格公式自动计算功能的VBA 宏示例

    最近的项目中,用到了很多Excel的VBA宏功能,用户的新需求也有很多需要用VBA宏来实现.为满足业务需求, 自己搜索网上的相关资料,尝试不同的解决方法,最终解决了用户的需求,在此记录下来,做一个总结 ...

  3. 帆软相同列合并_扩展后连续单元格合并

    2.1 模板设计 1)新建数据集查询ds1: SELECT substr(订购日期,1,4) as 年份, 货主省份, 货主城市, count(1) as 数量 FROM S订单 where 货主省份 ...

  4. 学习vba之按列合并将选定区域的单元格合并成一列

    学习VBA-合并列 首先选定一个区域,将这个区域的内容按列合并到该区域的后一列中. 学习过程中,如有错误或改进之处,还请多多指教! Sub 合并列() Dim hang As Integer '控制输 ...

  5. Python 技术篇 - 操作excel实现单元格合并并居中实例演示,用openpyxl库为指定区域的单元格设置对齐样式和字体样式方法

    Openpyxl 设置 excel 单元格合并.对齐样式和字体 第一章:openpyxl 操作 excel ① 设置单元格合并 ② 设置单元格居中对齐样式 ③ 设置单元格字体样式 第一章:openpy ...

  6. JAVA导出Excel通用工具类——第一篇:详细介绍POI 导出excel的多种复杂情况,包括动态设置筛选、动态合并横向(纵向)单元格等多种复杂情况——保姆级别,真的不能再详细了,代码拿来即用)

    JAVA导出Excel通用工具--第一篇:详细介绍POI 导出excel的多种复杂情况,包括动态设置筛选.动态合并横向(纵向)单元格等多种复杂情况--保姆级别,真的不能再详细了,封装通用工具类,代码拿 ...

  7. LAY-EXCEL导出excel并实现单元格合并

    通过lay-excel插件实现Excel导出,并实现单元格合并,样式设置等功能. 更详细描述,请去lay-excel插件文档查看,地址:http://excel.wj2015.com/_book/do ...

  8. Java实现导出excel对重复数据进行单元格合并

    Java 导出excel重复数据动态合并单元 前言:记录下第一次做动态导出excel表格,重复数据合并行.这个难就难在不知道从数据库查出来的数据那些是重复的哪些是不重复的,全部都是动态合并,并不能进行 ...

  9. Java POI 导出 Excel 单元格 合并单元格 相邻的相同值 合并

    通过poi导出合并单元格 合并单元格 并合并相邻并相同值的单元格 poi依赖 <dependency><groupId>org.apache.poi</groupId&g ...

最新文章

  1. Failed to load module script: The server responded with a non-JavaScript MIME type of “text/plain“.
  2. leetcode 24: 两两交换链表中的节点
  3. 静态资源java 配置文件_java web 静态资源访问配置三种方式
  4. pycharm 导入或复制项目后run按钮灰色问题(显示pycharm add configuration)
  5. boost::mpi::wait_any相关用法的测试程序
  6. 51NOD 1212 无向图最小生成树
  7. 计算机中专自考,中专怎么自考大专
  8. jQuery焦点图插件
  9. express + uniapp发送图片和保存图片
  10. Drools7中文教程 文档 指南
  11. jpg转pdf怎么转换?
  12. 测试自动化的三波浪潮
  13. mongo分片集群部署
  14. oracle基础|什么是数据库操作语言|什么是DDL、DML、DCL
  15. 中国古代美女才女不完全记录
  16. 大学刚毕业,用10000小时,走进字节跳动拿了offer
  17. gaetpy库模板sga_permut_templet简单应用
  18. 高浓度EPA 德国奎尔鱼油 (QüELL FISH OIL HIGH EPA)
  19. 显示和隐藏mac文件
  20. 梦幻西游手游排队显示服务器已满,梦幻西游手游排队进不去 一直排队解决方法...

热门文章

  1. 为什么有些应用程序愿意采用不可靠的UDP,而不愿意采用可靠的TCP?试解释为什么ARP高速缓存每存入一个项目就要设置10~20分钟的超时计时器。这个时间设置的太大或太小会出现什么问题?
  2. 树与二叉树——有关n叉树的若干问题
  3. Linux vmstat 命令详解
  4. 程序员生涯快一年感悟
  5. 【计算机网络】6 路由器与静态路由配置
  6. R语言数学建模(1):Regression analysis
  7. 微信公众号服务器搭建
  8. ZOOM:1的原理和作用
  9. BrowserslistError: Unknown browser query `w`. Maybe you are using old Browserslist or made typo in q
  10. C语言学习日记(3)——printf函数