[英]Datatables export to excel with data types
我有一張桌子:
Name Reg.number Limit Date
Jon 123455665 100 000.00 24.09.2018
Foo 123423423 55 000.00 23.09.2018
我正在使用數據表創建excel,它可以正常工作,但是我需要在導出的excel中指定數據類型。 現在在excel中,所有數據都被認為是“ Genereal”,但是我需要它來認識到:
Jon = text
Reg.number = text
Limit = Number (In perfect scenario with thousand separator and 2 digits after .)
Data = date
到目前為止,這是我的代碼:
<script>
$(document).ready(function() {
$('#datatable').DataTable();
$.fn.dataTable.moment( 'D.M.YYYY' );
var table = $('#datatable-buttons').DataTable({
lengthChange: false,
buttons: ['excel'],
});
table
.order( [4 , 'desc'] )
.draw();
table.buttons().container()
.appendTo('#datatable-buttons_wrapper .col-md-6:eq(0)');
} );
所以我當前的輸出是:Excel,其中所有數據都被視為“常規”。
我期望的輸出是:Excel,其中根據數據類型考慮所有列。 文字,數字(十進制),日期。
我真的無法在數據表文檔中找到答案。 從字面上看,他們有1-2個示例,它們並不能說明太多,因此,我將感謝代碼示例,而不是指向我過去幾個小時一直在閱讀的文檔的鏈接。
如前所述,我相信您需要將這些值轉換為可識別的值。 問題是Excel(或其他讀者),它當然不能弄清楚應該將“ 55 000.00”視為一個數字。 作為一個人,我也不知道如何解釋這一點:)
exportOptions: {
format: {
body: function(data, row, column, node) {
switch (column) {
case 2 :
return data.replace(/ /, ',')
break
case 3 :
return moment(data, 'DD.MM.YYYY').format('MM/DD/YYYY')
break
default :
return data
break
}
}
}
}
根據您的需要進行修改。 小提琴-> https://jsfiddle.net/sv42o8yw/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.