2016-06-21 117 views
-1

我TableTools文件版本類似下面如何在數據表中導出CSV數據時更改列的順序?

文件:TableTools.min.js 版本:2.1.4

我有一個像下面

  1. 我有一個數據表導出的場景到Excel/CSV(來自客戶端)
  2. 在數據表我需要的順序0,1,2,3,4和列等
  3. 在導出到Excel我需要在順序0,2的列, 1,4,3。

表格工具中可能嗎?如果可以,請你幫助我。

編輯 我有以下代碼:

"oTableTools": { 
    "sSwfPath": "path/to/swf/copy_csv_xls_pdf.swf", 
    "aButtons": [ 
     { 
      "sExtends": "collection", 
      "sButtonText": "Export", 
      "aButtons": [ 
       { 
        "sExtends": "csv", 
        "sFileName": "Sample.csv", 
        "oSelectorOpts": { 
          page: 'current' 
        }, 
        "mColumns": [1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16], 
        "fnClick": function (nButton, oConfig, oFlash) { 
         //$(".DTTT_button_xls").trigger('click'); 
         oTable.colReorder.order([ 1, 2, 3, 4, 16, 6, 7, 8, 9, 12, 13, 14, 15 ]); 
        } 
       }, 
       { 
        "sExtends": "xls", 
        "sFileName": "Sample.xls", 
        "oSelectorOpts": { 
         page: 'current' 
        }, 
        "mColumns": [1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16], 
       } 
      ], 
     } 
    ] 
}, 
+0

爲什麼贊成票? – NullPointer

+0

'mColumns:[0,2,1,4,3]'是正確的方法,但它只與sExtends一起工作,(據我記得) - 你應該認真考慮按鈕插件,而不是相同 - 更容易,維護和更多瀏覽器友好。你的'oTableTools'結構看起來有點奇怪,只用_one_按鈕和_no_集合來嘗試。不知道誰已經低調,人們應該留下一個解釋,他們爲什麼downvoted(我認爲,當在這種情況下,這個問題是公平和正確的,甚至與代碼示例寫得很好)調整了平衡有點:) – davidkonrad

+0

@davidkonrad,你是對的。我試過你上面說過,但即使是Single'sExtends',它也不起作用。 – NullPointer

回答

0

沒有在數據表提供的任何現有的功能,而把它們導出,可以重新排序列。

所以我不得不在服務器端編寫一個PHP的代碼,並從中生成了`CSV'文件。

0
$("#ExportButton").on("Click", function (e) { 
    table.colReorder.order([ 0,2,1,4,3 ]); 
}); 
+0

感謝您的回答,但是如何編寫這個作爲無法找到的地方。 – NullPointer

+0

我已經添加了我的示例代碼。 – NullPointer

+0

1.找到表格的變量名稱並替換「表格」。如果沒有 - 用$(「TableID」)替換。 2.在導出按鈕上找到ID並用「ExportButton」替換。 3.將我的代碼放入$(document).ready(function(){...});在你的DataTables初始化之後。 –