gpt4 book ai didi

jQuery/DataTables - 导出到 Excel

转载 作者:行者123 更新时间:2023-12-01 07:57:32 25 4
gpt4 key购买 nike

我正在创建一个 MVC 5/Bootstrap 应用程序。我需要允许用户将表格数据发送到 Excel。我知道 TableTools 可以做到这一点。但是,除了导出到 Excel 之外,我不想将 DataTables/TableTools 用于其他任何用途。我不想用它来做任何表格样式。我正在为此使用 Bootstrap。

那么,有没有办法可以严格使用 DataTables/TableTools 来实现此目的?我还希望能够在表单上的某个位置放置一个按钮(不一定是默认的 TableTools 按钮),并且在单击时执行 Excel 导出。这可能吗?

最佳答案

我想说很可能不是,因为 TableTools 插件旨在对 DataTables 对象进行操作。就我个人而言,如果不想使用 DataTables,我不会花任何时间调查这一点,但我将分享我如何为 ASP.NET MVC 5/Bootstrap 站点实现类似功能的概述。

只需在我的 View 上放置一个按钮即可:

<button id="export" type="button">Export</button>

在我的 View 的脚本部分中,我添加了一个用于单击事件的函数(在本示例中,我传递了 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 () {}
});
});

由于 ajax 调用不处理启动文件下载的 header ,因此需要两步方法:首先使用 ActionResult 生成文件(“GenerateCsv”),然后使用 FileStreamResult 返回文件(“DownloadCsv”)。

在本例中,我使用 LinqToCsv ( http://www.codeproject.com/Articles/25133/LINQ-to-CSV-library ) 生成 CSV 文件。我提到 CSV 格式是因为 TableTools 创建了 Excel 识别的 CSV 文件,而不是真正的 Excel 文件 ( http://datatables.net/extensions/tabletools/buttons )。

当我最初研究 TableTools 时,我遇到了一个问题,即当希望使用下载插件进行完整表导出时如何重新绑定(bind)自定义参数,因此发现这种方法更可取。

关于jQuery/DataTables - 导出到 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23071195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com