Я бы сказал, скорее всего, не потому, что плагин TableTools предназначен для работы с объектами DataTables. Лично я бы не потратил на это времени, если не хочу использовать DataTables, но я расскажу о том, как я реализовал аналогичные функции для сайта ASP.NET MVC 5/Bootstrap.
Просто поставил кнопку на мой взгляд:
<button id="export" type="button">Export</button>
В разделе сценария для моего зрения, я добавил функцию для события щелчка (в этом примере, я передаю в моих дополнительных параметров DataTable в):
$("#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() {}
});
});
Как Аякса вызов не обрабатывает заголовки, чтобы начать загрузку файла, требуется два шага: во-первых, в ActionResult для создания файла («GenerateCsv») и FileStreamResult вернуть файл ('DownloadCsv «).
В этом случае я использовал LinqToCsv (http://www.codeproject.com/Articles/25133/LINQ-to-CSV-library) для создания CSV-файла. Я упоминаю CSV-формат, поскольку TableTools создает CSV-файл, распознанный Excel, а не настоящий файл Excel (http://datatables.net/extensions/tabletools/buttons).
Когда я изначально исследовал TableTools, я столкнулся с проблемой о том, как перенастроить мои пользовательские параметры, когда вы хотите сделать полный экспорт таблицы, используя плагин . Загрузите плагин, чтобы этот подход был предпочтительнее.