首先使用Composer安装扩展包:
~~~
composer require phpoffice/phpexcel
~~~
### 导出excel用例一(简版):
~~~
$ToolExcel = new \app\common\tool\Excel();
$list = array(
array('id'=>1,'name'=>'a'),
array('id'=>2,'name'=>'b'),
array('id'=>3,'name'=>'c'),
array('id'=>4,'name'=>'c'),
);
$key = array(
'id' => '编号',
'name' => '姓名',
);
$ToolExcel->exportExcelSimp('简版测试',$key,$list);
~~~
![](https://box.kancloud.cn/a53e8d95f6968ac4da6f1f5ecfcde521_525x213.png)
### 导出excel用例二(跨行跨列):
~~~
$ToolExcel = new \app\common\tool\Excel();
$data = array(
'file_name' => '测试-跨行跨列',
'sheetInfo' => array(
'sheetIndex' => 0,
'sheetTitle' => '订单汇总',
),
'startCell' => array( //开始写入位置
'row'=>1,
'col'=>1
),
'cellData' => array(
array(
array(
'val' => 'A1',
'rowspan' => 2, //跨行数
'colspan' => 2, //跨列数
'remarks' => '备注1',
),
array(
'val' => 'B1', //
'rowspan' => 2, //跨行数
'colspan' => 2, //跨行数
),
array(
'val' => 'C1',
'colspan' => 2,
),
array(
'val' => 'D1', //
'colspan' => 2,
),
array(
'val' => 'A1',
'rowspan' => 2, //跨行数
'colspan' => 2, //跨列数
'remarks' => '备注1',
),
array(
'val' => 'C1',
'colspan' => 2,
),
array(
'val' => 'D1', //
'colspan' => 2,
),
),
array(
array(
'val' => '1',
),
array(
'val' => '2',
),
array(
'val' => '3',
),
array(
'val' => '4',
),
array(
'val' => '5',
),
array(
'val' => '6',
),
),
array(
array(
'val' => 'a',
),
array(
'val' => 'b', //
),
),
),
);
$ToolExcel->exportExcel($data);
~~~
![](https://box.kancloud.cn/31ce5b99bd8f25ce45f108f2736480df_1003x154.png)
### 导出excel用例三(配合model使用):
columns配置格式参考table构建器字段配置格式
~~~
$map = ['id'=>['in',$id]];
model('TestingAnswer')->downloadExcel([
'title' => '报告',
'data_map' => $map,
'columns' => [
['ip', 'IP'],
['start_time', '开始时间'],
['get_score', '分数'],
['get_score_proportion', '正确率', ['func'=>'proportionNum'] ],
['end_time', '完成时间'],
['use_second', '用时',['func'=>'format_time']],
['browser_info', '浏览器信息'],
['os_info', '操作系统'],
['project_version', '项目版本号'],
['tags', '标签',],
['answer_status', '状态', ['func'=>'c_name','config_name'=>'answer_status'] ],
],
]);
~~~
- 序言
- 环境搭建
- 下载及安装
- 构建器
- 构建器概述
- 模版构建器(TBuilder)
- Tab组件
- Topbar组件
- 按钮
- 顶部按钮配置
- 按钮配置明细
- 表格(table)
- Table案例
- 「方法」加载数据
- 「方法」设置数据列
- 「方法」列排序
- 「组件」检索过滤器
- 「组件」顶部按钮
- 「组件」列表按钮
- 「配置」列快速编辑
- 「配置」列附加内容
- 「配置」显隐列表复选框
- 「配置」自定义样式
- 表单(form)
- Form案例
- 「方法」添加组件(addWidgets)
- 「方法」数据检索过滤(filter)
- 「组件」富文本编辑器(kindeditor|editormd)
- 「组件」图片组件(images|cropper)
- 「组件」select listbox组件(listbox)
- 「组件」颜色选择器(button_color)
- 「组件」自定义内容
- 「配置」显隐字段关联(open_by)
- 「配置」form布局(layoutView)
- 「配置」隐藏描述区(hideWidgetsDesc)
- 「配置」数据验证(validate)
- 「配置」隐藏表单底部按钮(hideFormButton)
- 「配置」字段tip提示(tip)
- 自定义页面(custom)
- Custom案例
- 「组件」echart
- 「组件」Tile Widgets
- 「配置」custom布局
- 「配置」自定义html内容
- 「配置」自定义提醒页面
- 树形(tree)
- Tree案例
- 左侧菜单区配置
- 关闭左侧菜单(hideLeftMenu)
- 顶部按钮配置
- 自定义菜单配置
- 展现方式配置
- 表内增删改(Tabullet)
- 通用设置
- 依赖文件加载(插件/js/css)
- 指定布局/模版
- 内容定位栏(setTrayMenu)
- 设置内容区侧栏
- 模态框打开页面
- 组件构建器(TWidget)
- echarts
- table
- form组件
- Tabs组件
- builder构建
- titleLine
- 数据构建器(DBuilder)
- 概述(案例)
- 「方法」获取单条记录详情
- 「方法」获取分页列表数据
- 「方法」排序
- 「方法」设置查询字段
- 「方法」快速编辑
- 「方法」数据导出
- 「方法」联表查询
- 「方法」查询数据再处理
- 「配置」回调处理
- 「配置」设置过滤字段
- 「配置」指定过滤字段匹配值
- 「配置」增加编辑支持
- 「配置」查询出全部数据
- 辅助类
- Excle
- 模块开发
- 插件开发
- 扩展
- 行为扩展
- 行为日志
- 杂项
- 图片异步加载
- jquery插件zeroModal
- 提示
- form表单验证
- ajax相关
- 展开收起
- 常用函数
- 其他插件
- DEMO
- 增删改查
- 安全
- XSS 攻击
- 注入攻击
- CSRF 攻击
- 其他攻击和漏洞
- 开发
- TBuilder组件开发
- 更新日志
- 关于文档