index.html添加
<a href="javascript:;" class="btn btn-success btn-export {:$auth->check('user/export')?'':'hide'}" title="{:__('Export')}" id="btn-export-file"><i class="fa fa-download"></i> {:__('Export')}</a>
注意替换上传路径
index.js添加
$(document).on("click", ".btn-export", function () { var ids = Table.api.selectedids(table); var page = table.bootstrapTable('getData'); var all = table.bootstrapTable('getOptions').totalRows; console.log(ids.length, page.length, all); Layer.confirm("请选择导出的选项<form action='" + Fast.api.fixurl("user/export") + "' method='post' id='cc' target='_blank'><input type='hidden' name='ids' id='kk' value='' /><input type='hidden' name='filter' ><input type='hidden' name='op'><input type='hidden' name='search'><input type='hidden' name='columns'></form>", { title: '导出数据', btn: ["选中项(" + ids.length + "条)", "本页(" + page.length + "条)", "全部(" + all + "条)"], success: function (layero, index) { $(".layui-layer-btn a", layero).addClass("layui-layer-btn0"); } , yes: function (index, layero) { if (ids.length > 0) { var form = document.getElementById('cc'); var custmoreInput = document.getElementById('kk'); custmoreInput.setAttribute("value", ids.join(",")); form.submit(ids.join(","), layero); return true; } return false; } , btn2: function (index, layero) { var ids = []; $.each(page, function (i, j) { ids.push(j.id); }); if (ids.length > 0) { var form = document.getElementById('cc'); var custmoreInput = document.getElementById('kk'); custmoreInput.setAttribute("value", ids.join(",")); form.submit(ids.join(","), layero); return true; } return false; } , btn3: function (index, layero) { var form = document.getElementById('cc'); var custmoreInput = document.getElementById('kk'); custmoreInput.setAttribute("value", "all"); form.submit("all", layero); return true; } }) });
安装PHPExcel
composer require phpoffice/phpexcel
index.php导出代码
public function export() { if ($this->request->isPost()) { set_time_limit(0); $ids = $this->request->post('ids'); $excel = new \PHPExcel(); $excel->getProperties() ->setTitle("天行科技"); $excel->getActiveSheet()->getColumnDimension('A')->setAutoSize(true); $excel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true); $excel->getActiveSheet()->getColumnDimension('C')->setWidth(35);// 给表格添加数据 $worksheet = $excel->setActiveSheetIndex(0) ->setCellValue('A1', '序号') ->setCellValue('B1', '合同编号') ->setCellValue('C1', '姓名');
$list = $this->model->select();
foreach ($list as $k => $val) { $k = $k + 2; $worksheet->setCellValue('A' . $k, $val['id']) ->setCellValue('B' . $k, $val['number']) ->setCellValue('C' . $k, $val['name']); } $excel->createSheet(); $title = "天行科技" . date("YmdHis"); header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="' . $title . '.xlsx"'); header('Cache-Control: max-age=0'); header('Cache-Control: max-age=1'); header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); // always modified header('Cache-Control: cache, must-revalidate'); // HTTP/1.1 header('Pragma: public'); // HTTP/1.0 $objWriter = \PHPExcel_IOFactory::createWriter($excel, 'Excel2007'); $objWriter->save('php://output'); exit; return; } }
--非原创,转载的,原博主找不到了。。。