[英]C#/Javascript datatable export to Excel and PDF
我从前同事那里接管了一个C#实体框架项目。 他以我不熟悉的Java方式设置了一些表格。 我需要将此数据表的内容导出到Excel和PDF文件(每个文件都单独的按钮)。 我愿意使用C#,Javascript或JQuery。
我最近一直在做ColdFusion,并且差不多一年都没有看任何与.NET相关的东西,所以我试图重新学习并弄清以前从未见过的东西,所以我不禁思索。
用于填充数据表的Javascript代码:
$(document).ready(function () {
var active = true;
GetList(active);
});
function ChangeList()
{
GetList($("#ddlRiderType").val());
}
function GetList(isActive) {
$('#dataTable').dataTable({
"sDom": '<"top"lf>rt<"bottom"ip><"clear">',
"bAutoWidth": false,
"bProcessing": true,
"bSort": true,
"bDestroy": true,
"sPaginationType": "full_numbers",
"bServerSide": true,
"sAjaxSource": "Instructor.aspx/GetAllInstructors",
"fnServerData": function (sSource, aoData, fnCallback) {
var jsonData = "{jsonAOData : '" + JSON.stringify(aoData) + "', isActive: '" + isActive + "'}";
$.ajax({
//dataType: 'json',
contentType: "application/json; charset=utf-8",
type: "POST",
url: sSource,
data: jsonData,
complete: function () { Init(); },
success: function (msg) {
if (msg.d != null)
fnCallback(msg.d);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
ntfy_push("Error", ServerFail());
}
});
},
"aoColumnDefs": [
{ "sName": "Cipher",
"aTargets": [0],
"bVisible": false,
"bSearchable": false
},
{ "sName": "firstName",
"aTargets": [1]
},
{ "sName": "lastName",
"aTargets": [2]
},
{ "sName": "org",
"aTargets": [10]
},
{ "sName": "workPhone",
"aTargets": [4]
},
{ "sName": "altPhone",
"aTargets": [5],
"bVisible": false,
"bSearchable": false
},
{ "sName": "cellPhone",
"aTargets": [6],
"bVisible": false,
"bSearchable": false
},
{ "sName": "email",
"aTargets": [7]
},
{ "sName": "riderCoach",
"aTargets": [8],
"bVisible": false,
"bSearchable": false
},
{ "sName": "rangeAid",
"aTargets": [9],
"bVisible": false,
"bSearchable": false
},
{ "sName": "admin",
"aTargets": [3]
},
{ "sName": "seniorInst",
"aTargets": [11],
"bVisible": false,
"bSearchable": false
},
{ "sName": "dateAdded",
"aTargets": [12],
"bVisible": false,
"bSearchable": false
},
{ "sName": "dateMod",
"aTargets": [13],
"bVisible": false,
"bSearchable": false
},
{ "sName": "modBy",
"aTargets": [14],
"bVisible": false,
"bSearchable": false
},
{ "sName": "active",
"aTargets": [15],
"bVisible": false,
"bSearchable": false
},
{ "sName": "delete",
"aTargets": [16],
"bVisible": false,
"bSearchable": false
},
{ "fnRender": function () {
return "Edit";
},
"aTargets": [17]
},
{ "fnRender": function () {
return "Delete";
},
"aTargets": [18]
}
],
"sDom": '<"toolbar">flrtip'
});
$("div.toolbar").html("<div class = 'tableOption'><img src = 'image/button/new-icon.png'/ alt= 'Add New Class' style = 'cursor:pointer' onclick = 'Show_New_Instructor()'></div>");
}
标头使用的数据表
<table id = "dataTable">
<thead>
<tr>
<th>Instructor ID</th>
<th>First Name</th>
<th>Last Name</th>
<th>Admin</th>
<th>Work Phone</th>
<th>Alt Phone</th>
<th>Cell Phone</th>
<th>Email Address</th>
<th>Rider Coach</th>
<th>Range Aid</th>
<th>Organ</th>
<th>Senior Inst</th>
<th>Date Added</th>
<th>Date Modified</th>
<th>Mod By</th>
<th>Active</th>
<th></th>
</tr>
</thead>
<tbody></tbody>
</table>
Excel按钮:
PDF按钮:
预先感谢您的帮助,如果此帖子已发布在某处,我对此深表歉意。
由于您可以使用这三个平台中的任何一个,因此您可能需要检查Office互操作性,从而可以在C#代码中最大限度地利用MS Office。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.