服务器端 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 扩展现已弃用。
我有一个带有服务器端处理的数据表。 在服务器端,我有从 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 扩展现已弃用。