多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
**前端接口相关参数** |参数名 |必选 |类型 |说明 | | ------ | ------ | ------ |------ | |export |是 |int |2-导出excel | |file_name |否 |string |导出文件名; 若不传递,使用后端设置的默认文件名 | |page_type |否 |int |导出数据类型 0-导出全部数据 1(默认)-导出指定分页的数据(例:导出第2页至第5页数据时,同时要传递page_start = 2,page_end=5) | |page_size |否 |int |当page_type=1时有效,代表每页的数量, 默认值25 | |page_start |否 |int |当page_type=1时有效,代表导出的起始页码, 默认值1 | |page_end |否 |int |当page_type=1时有效,代表导出的结束页码, 默认值200 | **后端列表类须实现的接口** `ListsExcelInterface` 该接口有两个须实现的方法,`setExcelFields()`用于设置导出字段,`setFileName()`用于设置默认导出文件名 ``` /** * @notes 设置导出字段 * @return string[] * @author Tab * @date 2021/7/30 15:37 */ public function setExcelFields(): array { return [ // 特别注意:数值类型的字段不在排在第2位 // '数据库字段名(支持别名) => 'Excel表字段名' 'title' => '标题', 'cid_desc' => '分类', 'is_notice_desc' => '商城公告', 'is_show_desc' => '文章状态', 'visit' => '浏览量', 'likes' => '点赞量', 'sort' => '排序', 'create_time' => '创建时间', ]; } /** * @notes 设置默认表名 * @return string * @author Tab * @date 2021/7/30 15:37 */ public function setFileName(): string { return '文章帮助表'; } /** * @notes 文章/帮助列表 * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException * @author Tab * @date 2021/7/14 9:48 */ public function lists() : array { $field = 'id,title,image,cid,cid as cid_desc,is_notice, is_notice as is_notice_desc,is_show,is_show as is_show_desc,visit,likes,sort,create_time'; $lists = Article::field($field) ->where($this->searchWhere) ->order('id', 'desc') ->page($this->pageNo, $this->pageSize) ->select() ->toArray(); return $lists; } ``` ``` **导出目录** server/runtime/file/export **导出具体逻辑参考** app/common/lists/ListsExcelTrait.php