FastAdmin导出

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; } }

--非原创,转载的,原博主找不到了。。。

原文地址:https://www.cnblogs.com/xuanjiange/p/14545111.html