buttons.exportData()
從 DataTable 中獲取適合導出的資料。
請注意 - 此屬性需要 DataTables 的 Buttons 擴充套件。
描述
通常會希望使用 Buttons 從 DataTable 中獲取資料,以便可以以某種形式匯出(複製到剪貼簿、儲存到 Excel 等)。由於許多外掛按鈕類型可能需要此操作,Buttons 為 DataTables 提供此方法,可以快速輕鬆地從 DataTable 中獲取適合匯出的資料形式。
本質上,此方法將返回一個物件,其中包含表格的標頭、頁尾和主體資訊。然後由調用者決定如何匯出該資料 - 例如,對於 CSV 檔案,您可以使用逗號連接每一行的項目,然後使用換行符連接各行。
從 Buttons 1.5.0 開始,此方法匯出的資料將自動嘗試判斷表格中是否有任何列被選取。如果有的話,匯出將限制為這些列。如果沒有選取任何列,則將匯出完整資料集。
如果這不是您想要的行为,請將 modifier
物件的 selected
選項設定為 null
。然後,它將包含匯出中的所有列,無論是否選取任何列。同樣地,如果您想強制匯出僅包含選取的列,即使沒有選取任何列(即不會匯出任何內容),請將此參數設定為 true
。
類型
function buttons.exportData( [ options ] )
- 描述
從 DataTable 中獲取適合匯出的資料,並儲存到檔案或複製到剪貼簿。
- 參數
名稱 類型 可選 1 options
是 此選項用於定義將從表格中讀取哪些資料,以及如何修改這些資料(如果有的話),使其適合匯出。
該物件可以具有以下屬性
row-selector
rows
- 要使用的列選取器。預設值 - 所有列column-selector
columns
- 要使用的欄選取器。預設值 - 所有欄selector-modifier
modifier
- 應如何應用表格的排序和搜尋狀態。預設值 -{search: 'applied', order: 'applied'}
string
orthogonal
- 獲取單元格資料時要請求的正交資料類型。預設值display
- 即表格中顯示的資料。boolean
stripHtml
- 指示是否應從讀取的資料中移除 HTML(如果有的話)(true
)或不移除(false
)。預設值 -true
。boolean
stripNewlines
- 指示是否應從讀取的資料中移除換行符號(如果有的話)(true
)或不移除(false
)。預設值 -true
。boolean
decodeEntities
- 指示是否應解碼 HTML 實體 (true
) 或不解碼 (false
) - 例如>
將變為>
。對於較大的表格,您可能希望停用此選項,因為它會降低效能。預設值 -true
。boolean
trim
- 指示讀取的資料是否應從值的開頭和結尾修剪空白字元 (true
) 或不修剪 (false
)。預設值 -true
。object
format
(自 1.1.0 起) - 匯出將使用的儲存格格式化函式的容器物件function
format.header
- 將用於格式化標頭儲存格中資料的函式 - 預設函式將移除 HTML 標籤。傳回的值將用於匯出資料的欄標頭中。傳入三個引數
- 儲存格的 innerHTML
- 儲存格的欄索引。
- 儲存格節點 (自 Buttons 1.2.2 起)
function
format.footer
- 將用於格式化頁尾儲存格中資料的函式。- 預設函式將移除 HTML 標籤。傳回的值將用於匯出資料的欄頁尾中。傳入三個引數
- 儲存格的 innerHTML
- 儲存格的欄索引
- 儲存格節點 (自 Buttons 1.2.2 起)
function
format.body
- 將用於格式化表格主體儲存格中資料的函式 - 預設函式將移除 HTML 標籤。傳回的值將用於每個儲存格的匯出資料中。傳入四個引數
- 儲存格的 innerHTML
- 儲存格的列索引
- 儲存格的欄索引
- 儲存格節點 (自 Buttons 1.2.2 起)
function
customizeData
(自 Buttons 1.5.2 起) - 一個函式,可用於修改用於匯出的資料,在所有資料都被收集並由上述格式化選項預處理之後。傳入單個引數,且不預期有傳回參數(修改傳入的物件以更改資料)
- 用於匯出的資料。這是一個具有以下屬性的物件
header
- 標頭資料的陣列footer
- 頁尾資料的陣列body
- 主體的 2D 資料陣列。
- 傳回值
一個具有三個參數的物件
header
- 所選欄的標頭資料陣列footer
- 所選欄的頁尾資料陣列body
- 陣列的陣列,其中每個內部陣列代表一列,其項目為所選欄的儲存格。
範例
獲取表格中用於匯出的所有資料
var table = new DataTable('#myTable');
var data = table.buttons.exportData();
// Do something with the 'data' variable
僅匯出選取的列(使用Select 擴充套件)
var table = new DataTable('#myTable');
var data = table.buttons.exportData({
modifier: {
selected: true
}
});
// Do something with the 'data' variable
僅獲取可見欄的資料
var table = new DataTable('#myTable');
var data = table.buttons.exportData({
columns: ':visible'
});
// Do something with the 'data' variable
格式化標頭儲存格 - 新增欄索引
var table = new DataTable('#myTable');
var data = table.buttons.exportData({
format: {
header: function (data, columnIdx) {
return columnIdx + ': ' + data;
}
}
});
// Do something with the 'data' variable