TableTools 플러그인이 DataTables 개체에서 작동하도록 설계되었으므로 가능성이 가장 높습니다. 개인적으로 DataTables를 사용하고 싶지 않다면이 시간을 조사하지 않고 ASP.NET MVC 5/Bootstrap 사이트에서 비슷한 기능을 구현 한 방법에 대한 개요를 공유 할 것입니다. 나는 (내 DataTable을의 추가 매개 변수를 전달하고이 예에서) 클릭 이벤트에 대한 기능을 추가 내보기 위해 스크립트 섹션에서
<button id="export" type="button">Export</button>
:
단순히 내보기에 버튼을 배치
파일 ('GenerateCsv')와 '(DownloadCsv을 파일을 반환하는 FileStreamResult를 생성하기 위해 첫째 ActionResult : 파일 다운로드를 시작하기 위해 헤더를 처리하지 않습니다 아약스 호출로
$("#export").click(function (e) {
var myTableSettings = dataTable.dataTableSettings[0];
$.ajax(
{
url: "GenerateCsv",
type: "POST",
data: myTableSettings.oAjaxData,
success: function (data) {
document.location.href = 'DownloadCsv';
}
error: function() {}
});
});
, 그것은 두 단계 접근 방식이 필요 ').
이 경우 CSV 파일을 생성하기 위해 LinqToCsv (http://www.codeproject.com/Articles/25133/LINQ-to-CSV-library)을 사용했습니다. 나는 TableTools가 Excel이 아닌 실제 Excel 파일 (http://datatables.net/extensions/tabletools/buttons)이 인식하는 CSV 파일을 생성하므로 CSV 형식을 언급합니다.
처음 TableTools를 조사했을 때 다운로드 플러그인을 사용하여 전체 테이블 내보내기를 수행하고자 할 때 맞춤 매개 변수를 다시 바인딩하는 방법에 대한 문제가 발생했습니다.