【发布时间】:2015-11-17 08:59:38
【问题描述】:
我有一个数据表,其中包含从数据库中检索到的数据。当我在搜索文本框中输入一些关键字时(搜索文本框是由数据表生成的),表格的结果会发生变化。这很好。但是当我单击导出到 csv 或 pdf 时,csv 或 pdf 中的结果将从数据库而不是数据表中检索。
如何使用 laravel 基于 datatables 插件导出为 csv/pdf?
//数据表插件
<link href="plugins/datatables/dataTables.bootstrap.css" rel="stylesheet" type="text/css" />
<script src="plugins/datatables/jquery.dataTables.min.js" type="text/javascript"></script>
<script src="plugins/datatables/dataTables.bootstrap.min.js" type="text/javascript"></script>
//php
public function sales_csv(){
// columns
$arrSelectFields = array(
-- columns --
);
// query
-- sql queries --
// passing the columns which I want from the result set. Useful when we have not selected required fields
$arrColumns = $arrSelectFields;
// define the first row which will come as the first row in the csv
$arrFirstRow = $arrSelectFields;
// building the options array
$options = array(
'columns' => $arrColumns,
'firstRow' => $arrFirstRow,
);
// creating the Files object from the Utility package.
$Files = new Files;
return $Files->convertToReportsSalesCSV($query, $options);
}
【问题讨论】:
-
可以使用datatables插件
tableTools本地获取csv -
@charlietfl 我提到了这个datatables.net/extensions/tabletools 并进行了测试。我输入了关键字,但它仍然导出整个结果
-
你可以使用 dompdf 库还是必须坚持使用数据表?
-
@mdamia 稍后会检查 dompdf。我使用数据表是因为它内置了排序和搜索功能
标签: php jquery laravel csv datatables