[英]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.