引入插件
import XLSXS from 'xlsx-js-style';
import FileSaver from 'file-saver';插件版本
"xlsx-js-style": "^1.2.0"
"file-saver": "^2.0.5",
const exportExcel = () => {// 第一列添加序号state.tableData  = state.tableData.map((row, index) => {return Object.assign({}, { index: index + 1 }, row);});//转换为一个二维数组let body = state.tableData.map(x => ([x.index,x.dwmc, x.gfje, x.zjgf, x.zggf]))let tableLength = state.tableData.length + 2/* 定义表头定义表头,每一行即是一个数组,数组中的元素即是一个个单元格内容。*/const header = [[{v: '表头标题',t: 's',},],['序号','单位','金额','其中处级','职工']]//表尾第三列合计const tail = ['', '合计', { f: `SUM(C3:C${tableLength})`}]// 将定义好的表头表尾添加到 body 中body.unshift(...header);body.push(tail)// aoa_to_sheet 将二维数组转成 sheet
const sheet = XLSXS.utils.aoa_to_sheet(body);// 设置合并单元格 s是起始位,e结束位
const merges = [{ s: { r: 0, c: 0 }, e: { r: 0, c: 4 } },]
sheet['!merges'] = merges; // 将merges添加到sheet中// 设置列宽行高
const cols = [ { wch: 10 },{ wch: 25 },{ wch: 20 },{ wch: 20 },{ wch: 20 } ];
sheet['!cols'] = cols; // 将cols添加到sheet中
const rows = [ { hpx: 35 },{ hpx: 25 },{ hpx: 20 }]
sheet['!rows'] = rows; // 将rows添加到sheet中,设置行高// 设置单元格样式
//这里遍历单元格给单元格对象设置属性,s为控制样式的属性
Object.keys(sheet).forEach((key) => {if (key.indexOf('!') < 0) {sheet[key].s = {alignment: {//对齐方式horizontal: 'center',//水平居中vertical: 'center',//竖直居中// wrapText: true,//自动换行},}if (key.indexOf('1') !== -1) {sheet[key].s.font = {bold: true,sz: 16,} }if (key.indexOf('2') !== -1) {sheet[key].s.font = {sz: 14,} }}
})//导出
const workbook = XLSXS.utils.book_new();// 创建虚拟的 workbook
XLSXS.utils.book_append_sheet(workbook, sheet, 'sheet1'); // 向 workbook 中添加 sheet
const wbout = XLSXS.write(workbook, {bookType: 'xlsx', type: 'binary'});const blob = new Blob([s2ab(wbout)], {type: 'application/octet-stream'});FileSaver.saveAs(blob, 'sheet1.xlsx')//注意:定义导出 excel 的名称时需要加上后缀 .xlsxfunction s2ab (s) {const buf = new ArrayBuffer(s.length);const view = new Uint8Array(buf);for (let i = 8; i !== s.length; ++i){view[i] = s.charCodeAt(i) & 0xFF}return buf;}
}

使用xlsx-js-style表格导出,合计,单元格居中,多级表头合并,添加序号相关推荐

  1. html如何取单元格内容,JS获取表格内指定单元格html内容的方法

    JS获取表格内指定单元格html内容的方法 本文实例讲述了JS获取表格内指定单元格html内容的方法.分享给大家供大家参考.具体如下: 下面的代码先通过表格对象的rows获得指定的行的所有单元格数组, ...

  2. Python简单处理excel数据(拆分合并单元格、根据表头合并sheet、添加列数、添加内容操作)

    简介:大量数据存于excel表中.利用python语言对按要求对存有数据的excel进行预处理,使其成为便于利用的整洁数据 关键词:Python Excel openpyxl Pandas 问题描述: ...

  3. FineUI大版本升级,外置ExtJS库、去AXD化、表格合计行、表格可编辑单元格的增删改、顶部菜单框架

    FineUI v3.3.0 更新的内容非常多,所以一下子从 v3.2.6 连跳 3 个小版本,直接来到了 v3.3.0.详细的更新记录请参考这里:http://fineui.com/version 主 ...

  4. FineUI大版本升级,外置ExtJS库、去AXD化、表格合计行、表格可编辑单元格的增删改、顶部菜单框架...

    FineUI v3.3.0 更新的内容非常多,所以一下子从 v3.2.6 连跳 3 个小版本,直接来到了 v3.3.0.详细的更新记录请参考这里:http://fineui.com/version 主 ...

  5. FineUI大版本升级,外置ExtJS库、去AXD化、表格合计行、表格可编辑单元格的增删改、顶......

    2019独角兽企业重金招聘Python工程师标准>>> FineUI v3.3.0 更新的内容非常多,所以一下子从 v3.2.6 连跳 3 个小版本,直接来到了 v3.3.0.详细的 ...

  6. xlsx-style使用(导出表格及修改单元格样式)

    xlsx-style使用(导出表格及修改单元格样式) 针对导出表格 需要与xlsx配合使用,通过xlsx的方法生成sheet对象然后在对象上修改样式 本文对xlsx-style 如何修改单元格样式做了 ...

  7. java excel单元格背景色,『excel表格尺寸设置』Java如何设置被导出excel单元格的样式?比如背景色,大小什么的?...

    Java如何设置被导出excel单元格的样式?比如背景色,大小什么的? 使 poi ,具体实现 HSSFCellStyle style = null; // 创建表头style HSSFCellSty ...

  8. Python 操作 excel 插入图片、表格、设置单元格颜色、字体(三)

    Python 操作 excel 插入图片.表格.设置单元格颜色.字体 python 操作 excel 插入图片.表格.设置单元格颜色.字体 提示:以下是本篇文章正文内容,下面案例可供参考 一.open ...

  9. 自动化办公之excel教程(3):数据编辑操作,表格的美化操作,应用表格样式和单元格样式,制作报销汇总单

    一.数据编辑操作 1.填充数据 填充数据见上一节 自动化办公之EXCEL教程(2):各种数据的输入,自动填充数据,表格操作小技巧 2.查找和替换数据 第一步:开始选项卡里找到查找 或者Ctil+F 第 ...

  10. 如何给el-table表格的指定单元格设置颜色

    一.需求及效果图 最近的项目中,遇到给表格中指定单元格设置字体颜色,使用的是el-table做的,控制单元格字体颜色,每一行的最大值设置成绿色,最小值设置成红色,效果如下: 二.方法及代码 使用的是控 ...

最新文章

  1. hibernate 中set的3个属性(inverse,cascade,order_by)
  2. 操作系统(三十一)死锁的检测和解除
  3. java opennlp_OpenNLP中语言检测模型训练和模型的使用
  4. Java面试题2019简书_2019最新Spring面试题大全含答案之Spring Beans(2019最全Spring超级葵花宝典)...
  5. 阿里巴巴开源技术汇总:115个软件(四)
  6. FDR错误发现率-P值校正学习
  7. 论计算机专业毕业生的人文素养
  8. 基于 PostgreSQL 的 EMQ X Auth ACL
  9. Office编程中得到extend对象
  10. C++20 即将于年底发布,C++ 23 提上日程!
  11. 数据分析2 - 基础篇
  12. 扫码点单系统介绍,源码
  13. 财会法规与职业道德【3】
  14. oracle11g磁盘阵列 pdf,融会贯通 从Oracle11g到SQL Server2008 中文PDF版 16.7MB
  15. 《Bitly》可能是全球最好用的短链接生成工具
  16. 浅谈2019互联网新技术
  17. OPC DA调研报告
  18. W5500+DHCP+DNS+MQTT
  19. 国际MOT研究及智能视频监控应用中的目标跟踪梳理
  20. 【算法分析】Lucas–Kanade光流算法

热门文章

  1. android 碎片技术,【移动开发】Android中强大的适配功能----Fragment(碎片)总结
  2. 一种油然而生的宿命感
  3. argparse简要用法总结
  4. 最强旅游攻略 | 用Python分析国庆中秋最佳旅游景点 (文末福利)
  5. 视图几何三维重建实战系列之MVSNet
  6. 51单片机——I2C总线
  7. nodejs爬虫与php爬虫,nodejs爬虫初试superagent和cheerio
  8. AMD电脑安装TBC(Trimble Business Center)
  9. 华为Android 8.0以上悬浮窗权限正确开启方式
  10. 普通人在互联网时代的机会