如何自定义jQuery DataTables导出功能,例如PDF、Excel、打印和CSV?

7
我正在使用datatables中的jQuery DataTables。我想自定义这些表格的导出文件插件,如CSV、Excel、PDF和打印按钮。如果我打印PDF,它总是在页眉中显示jQuery Data Table文件导出的标题。我该如何自定义它?当我导出CSV、PDF和Excel文件时,我也想自定义文件名。我检查了插件中的代码,但在导出文件选项中找不到自定义代码。我需要下载扩展程序吗?抱歉,我刚接触jQuery datatables。

以下是一个示例enter image description here

我该如何自定义PDF、CSV和Excel文件呢?抱歉编辑不好。

我如何自定义下载的文件名?

如果有人能帮忙,将不胜感激。

提前致谢。


你好Jayz,dataTable中没有插件可以将数据导出为PDF、CSV或Excel格式。如果你想要导出数据,那么你需要构建外部函数来实现。数据选择查询与datatable数据选择查询相同。在线上有各种插件可用于将数据导出为CSV、PDF或Excel格式。 - Rajkumar Dorkhande
1个回答

7
您可以使用按钮选项自定义文件名和标题。除了csv按钮外,所有按钮都包含自定义文件名标题的选项。csv按钮只有文件名选项。
以下是按钮选项的参考列表: 这是代码片段。

$(document).ready(function() {
  $('#example').DataTable({
    dom: 'Bfrtip',
    buttons: [{
      extend: 'pdf',
      title: 'Customized PDF Title',
      filename: 'customized_pdf_file_name'
    }, {
      extend: 'excel',
      title: 'Customized EXCEL Title',
      filename: 'customized_excel_file_name'
    }, {
      extend: 'csv',
      filename: 'customized_csv_file_name'
    }]
  });
});
<link href="https://cdn.datatables.net/1.10.12/css/jquery.dataTables.css" rel="stylesheet" />
<link href="https://cdn.datatables.net/buttons/1.2.2/css/buttons.dataTables.css" rel="stylesheet" />
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
<script src="https://cdn.datatables.net/buttons/1.4.2/js/dataTables.buttons.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/vfs_fonts.js"></script>
<script src="https://cdn.datatables.net/buttons/1.4.2/js/buttons.html5.min.js"></script>
<div class="container">
  <table id="example" class="display nowrap" width="100%">
    <thead>
      <tr>
        <th>Name</th>
        <th>Position</th>
        <th>Office</th>
        <th>Age</th>
        <th>Start date</th>
        <th>Salary</th>
      </tr>
    </thead>

    <tfoot>
      <tr>
        <th>Name</th>
        <th>Position</th>
        <th>Office</th>
        <th>Age</th>
        <th>Start date</th>
        <th>Salary</th>
      </tr>
    </tfoot>

    <tbody>
      <tr>
        <td>Tiger Nixon</td>
        <td>System Architect</td>
        <td>Edinburgh</td>
        <td>61</td>
        <td>2011/04/25</td>
        <td>$3,120</td>
      </tr>
      <tr>
        <td>Garrett Winters</td>
        <td>Director</td>
        <td>Edinburgh</td>
        <td>63</td>
        <td>2011/07/25</td>
        <td>$5,300</td>
      </tr>
    </tbody>
  </table>
</div>


谢谢!这帮了我很多!但是我能再问一件关于datatables的事情吗? - Jaaayz
你的代码片段中似乎有一些重复的脚本标签。 - thinktt
1
有没有办法排除一些列?隐藏的列也包括在内吗? - masud_moni
2
@masud_moni,您可以使用column-selector来选择要导出或反向选择的列。有关更多信息,请参见此示例 - Prashant Pokhriyal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接