2017-03-21 47 views
-1

我有一個Web服務和2個Web方法來從SQL中提取數據並將它顯示在同一網頁上的兩個數據表中。2在同一頁上的兩個不同數據表上的Excel按鈕

當我只有一個「Excel」按鈕時,我在Excel中獲取我的數據,當按鈕被按下時。但是,如果我有2個按鈕,那麼第一個數據表按鈕正在工作,但第二個數據表excel按鈕不起作用,並將其另存爲電子表格。如果我放置了任何其他按鈕,如'pdf','csv',..然後第二個按鈕也起作用,將數據相應地保存爲指定的格式。

我的2 jQuery的數據表執行:

$(document).ready(function() { 
     $.ajax({ 
      url: 'Service.asmx/LoadReport', 
      method: 'post', 
      dataType: 'json', 
      success: function(data) { 
     $('#datatable').dataTable({ 
        data: data, 
        dom: 'Bfrtip', 
        buttons: [ 
        // //'copy', 'csv', 'excel', 'pdf', 'print' 
        // 'excel' 
        { extend: 'excel', text: 'Save as Excel', filename: "SubmissionStatus" } 
        ], 
        columns: …. 
     }); 
      } 
     }); 
    }); 

和我的第二個實施:

$(document).ready(function() 
    { 
     $.ajax({ 
      url: 'Service.asmx/LoadTars', 
      method: 'post', 
      dataType: 'json', 
      success: function(data) { 
       $('#datatable2').dataTable({ 
        data: data, 
        dom: 'Bfrtip', 
        buttons: [ 
         'excel' 
        // { extend: 'excel', text: 'Save as Excel'} 
        ], 
        columns: …. 
       }); 
      } 
     }); 
    }); 

而這些是CDN的,我引用到:

SCRIPT SRC =「HTTP:/ /code.jquery.com/jquery-1.10.2.js「type =」text/javascript「>

<script type="text/javascript" src="https://cdn.datatables.net/buttons/1.2.4/js/dataTables.buttons.min.js"></script> 
<script type="text/javascript" src="http://cdn.datatables.net/buttons/1.2.4/js/buttons.flash.min.js"></script> 
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jszip/2.5.0/jszip.min.js"></script> 
<script type="text/javascript" src="http://cdn.rawgit.com/bpampuch/pdfmake/0.1.24/build/pdfmake.min.js"></script> 
<script type="text/javascript" src="http://cdn.rawgit.com/bpampuch/pdfmake/0.1.24/build/vfs_fonts.js"></script> 
<script type="text/javascript" src="http://cdn.datatables.net/buttons/1.2.4/js/buttons.html5.min.js"></script> 
<script type="text/javascript" src="http://cdn.datatables.net/buttons/1.2.4/js/buttons.print.min.js"></script> 

你能指出爲什麼我的第二個excel按鈕沒有把數據保存到指定的格式嗎?

回答

0

我發現了罪魁禍首 - 這是舊版本,我被引用的jQuery [code.jquery.com/jquery-1.10.2.js]是造成這一問題的JS,不以己2個excel按鈕在同一頁面上,用於2個不同的數據表。

正確的JS參考[here]解決了這個問題。

1

不知道你的問題是什麼。我在jsbin上設置了兩個表,它工作正常。

請記住,如果您在serverSide模式下運行,則只有您在客戶端中看到的內容纔會導出,因此如果將頁面分頁回服務器,則只能在Excel中獲得一個頁面。

$(document).ready(function() { 

     $('#example').DataTable({ 
      "data": dataStore.data1, 
      "columns": [ 
      { "data": "name" }, 
      { "data": "position" }, 
      { "data": "office" }, 
      { "data": "extn" }, 
      { "data": "start_date" }, 
      { "data": "salary" } 
      ], dom: 'Bfrtip', 
      buttons: ['excelHtml5'] 
     }); 


     $('#example2').DataTable({ 
      "data": dataStore.data2, 
      "columns": [ 
      { "data": "name" }, 
      { "data": "position" }, 
      { "data": "office" }, 
      { "data": "extn" }, 
      { "data": "start_date" }, 
      { "data": "salary" } 
      ], dom: 'Bfrtip', 
      buttons: [ 

      'excelHtml5' 
      ] 
     }); 
    }); 
+0

感謝您的回覆 - 我發現的罪魁禍首 - 這是js的舊版本,我引用jquery [http://code.jquery.com/jquery-1.10.2.js]導致這個問題,而不是在2個不同的數據表的同一頁上有2個excel按鈕。 – Ron

+0

正確的JS參考[http://code.jquery.com/jquery-1.11.3.min.js]解決了這個問題。 – Ron

相關問題