2014-04-14 8 views
1

Я создаю приложение MVC 5/Bootstrap. У меня есть необходимость разрешить пользователю отправлять данные таблицы в Excel. Я знаю, что TableTools могут это сделать. Однако я не хочу использовать DataTables/TableTools для чего-либо еще, кроме экспорта в Excel. Я не хочу использовать его для любого стиля таблицы. Я использую Bootstrap для этого.jQuery/DataTables - Экспорт в Excel

Итак, можно ли использовать DataTables/TableTools для этой цели? И я также хотел бы разместить кнопку где-нибудь в моей форме (не обязательно кнопку DefaultTools по умолчанию), и, при нажатии, экспортируйте Excel. Это возможно?

ответ

3

Я бы сказал, скорее всего, не потому, что плагин 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, я столкнулся с проблемой о том, как перенастроить мои пользовательские параметры, когда вы хотите сделать полный экспорт таблицы, используя плагин . Загрузите плагин, чтобы этот подход был предпочтительнее.