我有一个带有2个Web方法的Web服务,用于从SQL中提取数据并将其显示在同一网页上的两个数据表中 .
当我只有一个“Excel”按钮时,按下按钮时,我将在excel中获取数据 . 但是,如果我有2个按钮,那么第一个数据表按钮正在工作,但第二个数据表excel按钮不起作用,并将其保存为电子表格 . 如果我放置任何其他按钮,如'pdf','csv',..那么第二个按钮也可以,相应地将数据保存到指定的格式 .
我的2个jQuery DataTable实现:
$(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按钮没有将数据保存到指定的格式?
2 回答
不确定你的问题是什么 . 我在jsbin上设置了两个表,它运行正常 . http://jsbin.com/gabara/edit?html,js,output
请记住,如果您在serverSide模式下运行,则只会导出您在客户端中看到的内容,因此如果您回调到服务器,则只能在Excel中获得一个页面 .
我发现了罪魁祸首 - 这是我引用jquery [ code.jquery.com/jquery-1.10.2.js ]引用此问题的旧版js,而不是在同一页面上为2个不同的数据表设置2个excel按钮 .