服务器端 excel 使用 DataTable 导出

Server side excel export with DataTable

我有一个带有服务器端处理的数据表。 在服务器端,我有从 ajax 请求中检索过滤器并从数据库中获取数据的功能。

现在我想将数据导出到带有过滤器的 excel 文件中。

我假设我必须在服务器端设计一个 excel 文件创建器并通过 HTTP 响应发送文件。

我想使用已定义的函数来处理导出请求。

我的问题是:如何将与 ajax 请求中格式相同的 DataTables 过滤器发送到我的服务器?

SOLUTION

可以使用ajax.params()获取DataTables在上次Ajax请求中提交给服务器的数据。

然后您可以重定向到使用这些参数生成 Excel 文件的脚本,使用 jQuery 辅助函数 $.param 将数组转换为查询字符串。

例如:

window.location = '/getFile.php?' + $.param($('#example').DataTable().ajax.params());

其中 example 是 table ID。

NOTES

还有 Download button 的 TableTools 扩展,但随着最近的 jQuery DataTables 1.10.8 版本,TableTools 扩展现已弃用。