格式化輸出資料 - 匯出選項
Buttons 有兩種不同的方法可以將匯出的資料格式化,使其與表格中顯示的資料不同:正交選項和格式化函式,如本範例所示。它們基本上都以不同的方式實現相同的目的:即修改輸出資料。
匯出按鈕的格式化函式是透過將函式指派給 exportOptions
物件的 format
物件中的一個(或多個)來指定。可以使用三個格式化函式:header
、footer
和 body
。這是使用格式化函式而非正交資料的主要優勢 - 標頭和頁腳也可以使用此方法格式化(當然,如果您喜歡,也可以同時使用正交方法和此格式化函式方法!)。
此範例使用 body
格式化函式從最後一欄中刪除 $
和 ,
字元,使其成為輸出資料中的數值。由於這對於使用的三個匯出按鈕來說是通用的,因此該函式會被放置在一個由每個按鈕重複使用的物件中 - 只是為了節省重複相同的程式碼!這不是必需的,但它可以是一個有用的技巧。
姓名 | 職位 | 辦公室 | 分機 | 開始日期 | 薪資 |
---|---|---|---|---|---|
姓名 | 職位 | 辦公室 | 分機 | 開始日期 | 薪資 |
- Javascript
- HTML
- CSS
- Ajax
- 伺服器端腳本
- 註解
下面顯示的 Javascript 用於初始化本範例中顯示的表格
var exportFormatter = { format: { body: function (data, row, column, node) { // 從薪資欄位中移除 $ 以使其成為數值 return column === 5 ? data.replace(/[$,]/g, '') : data; } } }; $('#example').DataTable({ ajax: '../../../../examples/ajax/data/objects.txt', columns: [ { data: 'name' }, { data: 'position' }, { data: 'office' }, { data: 'extn' }, { data: 'start_date' }, { data: 'salary' } ], layout: { topStart: { buttons: [ { extend: 'copyHtml5', exportOptions: exportFormatter }, { extend: 'excelHtml5', exportOptions: exportFormatter }, { extend: 'pdfHtml5', exportOptions: exportFormatter } ] } } });
let exportFormatter = { format: { body: function (data, row, column, node) { // 從薪資欄位中移除 $ 以使其成為數值 return column === 5 ? data.replace(/[$,]/g, '') : data; } } }; new DataTable('#example', { ajax: '../../../../examples/ajax/data/objects.txt', columns: [ { data: 'name' }, { data: 'position' }, { data: 'office' }, { data: 'extn' }, { data: 'start_date' }, { data: 'salary' } ], layout: { topStart: { buttons: [ { extend: 'copyHtml5', exportOptions: exportFormatter }, { extend: 'excelHtml5', exportOptions: exportFormatter }, { extend: 'pdfHtml5', exportOptions: exportFormatter } ] } } });
除了上面的程式碼外,還載入了以下 Javascript 函式庫檔案以用於此範例中
下面顯示的 HTML 是原始 HTML 表格元素,在經過 DataTables 增強之前
此範例使用了一些除了從函式庫檔案(如下)載入之外的額外 CSS,以便正確顯示表格。下面顯示了使用的額外 CSS
載入了以下 CSS 函式庫檔案以用於此範例中,以提供表格的樣式
此表格透過 Ajax 載入資料。下面顯示了已載入的最新資料。當載入任何額外資料時,此資料將自動更新。
下面顯示了用於執行此表格伺服器端處理的腳本。請注意,這只是一個使用 PHP 的範例腳本。伺服器端處理腳本可以使用任何語言編寫,使用 DataTables 文件中描述的協定。