bootstrap table和tableExport导出支持中文的Excel和pdf等表格

前言

  • 由于最近项目有一个导出表格为pdf格式,所以就做了这个功能。由于项目的表格是基于bootstrap和bootstrap table实现的,相对于easyUI来说它的优点是更方便,更好兼容。
  • 从代码可以发现bootstrap table本身是没有实现表格的导出的,需要扩展插件tableExport,扩展的tableExport在导出csv,txt,sql,json等格式的时候能很好的支持中文,不过需要导入相应js文件(本文会解决),但是对于pdf格式的就不支持中文了,如何解决是本文的中点。

    前提

  • 首先得下载几个插件:

jquery下载
bootstrap下载
bootstrap table下载
tableExport下载

注意

  • 由于bootstrap和其扩展的插件都是基于jquery来实现的,所以在使用这些插件的时候必须先把jquery引入。
  • 对于版本有要求,bootstrap对jquery的版本有依赖,在bootstrap的bower.json 文件中列出了 bootstrap 所支持的 jquery 版本,请对应下载jquery版本。
  • 不能把单个的css、js文件提出来放在一个文件中因为有的文件有关联,提出来就导致某些功能用不了。

步骤 下载的文件整理:

  • 新建文件bootstrap_above;
  • 将下载的tableExport.jquery.plugin-master文件重命名为tableExport;
  • 将重命名的tableExport和下载的bootstrap、bootstrap-table-develop、jquery-1.9.1文件放入bootstrap_above文件中。
  • 修改文件,tableExport默认是使用jspdf来实现导出pdf的,但是jspdf不支持中文,所以我们改用pdfmake方式,但是必须自定义字体生成vfs_fonts.js,博主已经自定义好需要的请自己下载。将vfs_fonts.js文件替换掉bootstrap_above\tableExport\libs\pdfmake目录下的vfs_fonts.js文件。
  • 将tableExport.js文件的代码
pdfmake: {
  enabled: false,                               // true: use pdfmake instead of jspdf and jspdf-autotable (experimental)
                  docDefinition: {
  pageOrientation: 'portrait',  // 'portrait' or 'landscape'
                                  defaultStyle: {
  font: 'Roboto' // default is 'Roboto', for arabic font set this option to 'Mirza' and include mirza_fonts.js
                                                }
                                 },
                  fonts: {}
                 }, 

修改为

pdfmake: {
   enabled: true},
  • 将tableExport.js文件的代码
          var docDefinition = { content: [ {
                                  table:
  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 17
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值