当前位置: 首页 > news >正文

介绍湛江网站网络公司

介绍湛江网站,网络公司,网站建设 博采网络,上海网站排名提升使用方式 1、安装依赖 npm install xlsx-js-style2、复制代码文件exportExcel.js至工程 https://github.com/EnthuDai/export-excel-in-one-line 3、在引入excel.js后调用 Excel.export(columns, dataSource, 导出文件名)4、代码demo 5、效果 页面excel 适用范围 对于使…

使用方式

1、安装依赖

npm install xlsx-js-style

2、复制代码文件exportExcel.js至工程
https://github.com/EnthuDai/export-excel-in-one-line

3、在引入excel.js后调用

Excel.export(columns, dataSource, '导出文件名')

4、代码demo

代码示例

5、效果

页面excel
在这里插入图片描述在这里插入图片描述

适用范围

对于使用vue ant-design 组件库中table组件的场景,可直接将table的 columnsdata-source导出文件名称 作为参数传入export方法,调用即可导出相同格式的excel文件。

Excel.export(this.demoColumn, this.demoData, '测试数据')

对于其他场景,需要对数据格式适配至ant-design table相同格式,具体为:

  1. 表头格式需符合以下条件
  • 标题的key为 title
  • 数据字段key为 dataIndex
  • 子表头key为 children

如:

	[{title:'类别',dataIndex:'type'},{title:'总计',children:[{title:'销量',children:[{title:'今天', dataIndex:'today'},{title:'昨天', dataIndex:'yesterday'}]}]},{title:'趋势',children:[{title:'上涨率',dataIndex:'raise'},{title:'上涨金额', dataIndex:'raiseAmount'}]}]
  1. 数据格式格式需符合以下条件
  • 数据项key为表头格式中对应项 dataIndex 的值
  • 子数据key为children

如:

	[{type:'笔', today:100, yesterday: 200, raise:'20%', raiseAmount:20, children:[{type:'毛笔',today:50, yesterday: 100, raise:'20%', raiseAmount:10},{type:'钢笔',today:50, yesterday: 100, raise:'20%', raiseAmount:10}]},{type:'墨', today:100, yesterday: 200, raise:'20%', raiseAmount:20},{type:'纸', today:100, yesterday: 200, raise:'20%', raiseAmount:20},{type:'砚', today:100, yesterday: 200, raise:'20%', raiseAmount:20},]

实现原理

原理基本参考了使用xlsx.js导出有复杂表头的excel这篇文章,其该文合并表头方法doMerges 存在bug,实测中会出现问题。所以该组件中使用了树中递归处理的算法计算合并项,解决问题的同时也提高了代码的简洁程度。
实现过程:

  1. 根据表头描述 columns 生成全为空的表头二维数组,二维数组行数为 columns 中子项树的最深深度,列数为 columns 中所有子项树的叶子节点数之和。分别通过 columnHeight(columns)、columnWidth(columns)方法递归求得。
    在这里插入图片描述
  2. columns 中title填入对应位置,也是循环+递归实现。此间分两种情况
    1. 无children的叶子节点

      {title:'类别',dataIndex:'type'}
      

      在数组左上角第一项填入 title,合并单元格时需要向下合并所有单元格,记录下合并的起始和终点项的偏移量 {s:{r:0,c:0},e:{r:0,c:2}}

      在这里插入图片描述
      2.有children的节点

       {title:'总计',children:[{title:'销量',children:[{title:'今天', dataIndex:'today'},{title:'昨天', dataIndex:'yesterday'}]}]
      }
      

      在这里插入图片描述
      在二维数组剩余的部分(红框区域)中,左上角第一项填入title,并记录下横向合并的起终点偏移量,横向合并的数目为该项的children数组中所有节点的叶节点总数。
      然后对 向下的剩余部分(绿框区域)递归操作。

      3.最终得到表头区域数据
      在这里插入图片描述

      合并excel单元格的数据描述
      在这里插入图片描述

  3. 其余部分就是填入数据调api即可,可以参考使用xlsx.js导出有复杂表头的excel这篇文章,此处空白太小所以不再赘述。

源码地址:

https://github.com/EnthuDai/export-excel-in-one-line
如果该内容对你有帮助,帮忙star一下项目呀

http://www.hyszgw.com/news/584.html

相关文章:

  • 做金融的喜欢逛哪些网站app推广赚钱
  • 网站建设公司在哪里宣传营销型网站建设多少钱
  • 网站建设与开发的软件外贸建站与推广如何做
  • asp.net视频网站模板下载semir是什么品牌
  • 学网站建设好么谷歌浏览器下载官方正版
  • 怎么看网站是谁做的百度博客收录提交入口
  • 花箱 东莞网站建设网络营销10大平台
  • www技术支持 重庆网站建设湖人今日排名最新
  • 什么网站可以做棋谱seo软件推广哪个好
  • 乌鲁木齐网站建设seo友情链接可以随便找链接加吗
  • 响应式网站模版建站自己建网页
  • 响应式手机网站建设昆明网络推广优化
  • 深圳网址网站建设公司湖南seo技术培训
  • 网站页面怎么做的好看网站seo外包
  • 网站设计制作开发公司网络广告策划书
  • 招生网站制作淘宝关键词热度查询工具
  • 国外做多媒体展览的网站杭州百度推广开户
  • 武汉最好的网站建设前十移动慧生活app下载
  • 做58同城网站花了多少钱推广的十种方式
  • 建一个做笔记的网站搜索引擎推广的方法有哪些
  • 深圳市网站建设科技公司百度网盘app下载安装电脑版
  • 接单做公司网站站群搜索引擎优化的概念
  • 营销一型网站建设公司chrome 谷歌浏览器
  • 网站首页框架图网络营销有哪些功能
  • 网站广告杭州关键词优化平台
  • 网站域名供应商有哪些网站可以免费发布广告
  • 直播软件app开发制作优化网站排名如何
  • 做商务网站服务上海关键词推广公司
  • 地方新闻网站建设方案鸿科经纬教网店运营推广
  • 杭州家装口碑比较好的公司优化大师兑换码