DataTables - 导出buttons使用

(一)代码示例

html代码和javascript代码可以参考官网的例子:https://datatables.net/extensions/buttons/examples/initialisation/simple.html

(二)DataTables配置

需要用到jQuery和DataTables相关的css和javascript代码:

<link rel="stylesheet" type="text/css" href="http://cdn.datatables.net/1.10.16/css/jquery.dataTables.css">
<link href="https://cdn.datatables.net/buttons/1.5.1/css/buttons.dataTables.min.css" rel="stylesheet">
<script type="text/javascript" charset="utf8" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script type="text/javascript" charset="utf8" src="http://cdn.datatables.net/1.10.15/js/jquery.dataTables.js"></script>

试了一下发现导出按键并没有显示:
在这里插入图片描述
注意官方示例下说明了需要使用以下javascript脚本:
在这里插入图片描述
再对比javascript - Bootstrap 示例中未显示数据表按钮加上dataTables.buttons.min.js可以使用按键的尺寸更加合适。最后的要使用的javascript脚本为:

<head>
      <link rel="stylesheet" type="text/css" href="http://cdn.datatables.net/1.10.16/css/jquery.dataTables.css">
      <link href="https://cdn.datatables.net/buttons/1.5.1/css/buttons.dataTables.min.css" rel="stylesheet">
      <script src="https://code.jquery.com/jquery-3.5.1.js"></script>
      <script src="https://cdn.datatables.net/1.11.3/js/jquery.dataTables.min.js"></script>
      <script src="https://cdn.datatables.net/buttons/2.0.1/js/dataTables.buttons.min.js"></script>
      <script src="http://cdn.datatables.net/buttons/2.0.1/js/buttons.bootstrap4.min.js"></script>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/pdfmake.min.js"></script>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js"></script>
      <script src="https://cdn.datatables.net/buttons/2.0.1/js/buttons.html5.min.js"></script>
      <script src="https://cdn.datatables.net/buttons/2.0.1/js/buttons.print.min.js"></script>

      <script>
          $(document).ready(function() {
             var table =  $('#example').DataTable( {
                  dom: 'lBfrtip',
                  buttons: [
                      'copy', 'csv', 'excel', 'pdf', 'print'
                  ],
              } );
          } );
      </script>
</head>

正常效果:
在这里插入图片描述
默认情况下导出的是全表,即示例中所有57条数据。但是如果数据是从服务器获取的,因为前端只有当前页的数据,那么导出的数据也只有当前页而非全表。

(三)数据来源为服务端时如何实现导全表

其实可以将需求拆分为2步:(1) 从服务器取得全部数据。(2) 导出表格。这样便可以达到曲线救国的效果。
导出按键的代码为:

$(document).ready(function() {
   var table =  $('#example').DataTable( {
        dom: 'lBfrtip',
        buttons: [
            'copy', 'csv', 'excel', 'pdf', 'print',
            {
                text: "Export",
                action: function ( e, dt, node, config ) {
                    select = $("#example_length").children().children();
                    select.val(100);
                    select.trigger("change");
                    setTimeout(function(){
                        excel = $("#example_length").next().children()[2];
                        excel.click();
                    }, 1000);
                }
            },
        ],
    } );
} );
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
datatables是一个用于展示和操作大量数据的JavaScript库,它提供了丰富的功能和灵活的配置选项。其中包括了数据导出功能,可以将表格中的数据导出为不同格式的文件,比如Excel、CSV和PDF。 datatables导出参数包括: 1. buttons:导出功能是通过buttons插件来实现的,该参数用于配置导出按钮的相关选项,比如按钮的位置、样式、图标等。 2. exportOptions:这个参数用于配置导出的数据,可以指定导出的列、行、单元格等内容,也可以设置导出数据的格式。 3. filename:用于指定导出文件的名称,可以自定义文件名或者使用变量来动态生成文件名。 4. customize:这个参数用于自定义导出文件的内容和格式,可以通过回调函数来对导出的数据进行处理,比如添加额外的信息、设置样式等。 5. fieldSeparator:用于指定导出文件中字段的分隔符,比如CSV文件中常用逗号作为字段的分隔符。 6. extension:这个参数用于指定导出文件的格式,可以是Excel、CSV、PDF等。 7. header:用于指定导出文件是否包含表头信息,可以设置为true或false。 通过配置这些导出参数,可以灵活地实现对表格数据的导出操作,满足用户对数据导出的各种需求。同时,datatables还提供了丰富的API和事件,可以对导出功能进行更深入的定制和扩展。总之,datatables导出参数为用户提供了丰富的选项和灵活的配置,使数据导出功能更加强大和实用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值