工作中遇到第一个项目是一个oa系统开发快完成了
我接手修改一些BUG 和添加功能
比如考勤excel方式导出
一开始用的是tp 框架自带的类 应为天数 早中晚班 签到在excel 插入的位置 可能是我自己对这个类理解不够深刻 然后用header下载插入xls
利用header直接生成xls文件
控制器写法:
C层
public function xls(){
//调用header方法
$name = "xlsReport_".date("YmdHis")."xls";
$this->heade($name);
//数据
$data = array(
array("name"=>"shen","age"=>"28","addr"=>"淮安"),
array("name"=>"feng","age"=>"28","addr"=>"淮安"),
array("name"=>"shan","age"=>"28","addr"=>"淮安"),
);
$this->assign("data",$data)->display();
}
//header方法
private function heade($name){
header("Content-type:text/xls");//设置内容类型
header("Content-Disposition:attachment;filename=".$name);//文件下载
header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
header('Expires:0');
header('Pragma:public');
}
V层
view 层写法:
<table>
<tr>
<td colspan="3">信息表</td>
</tr>
<tr>
<td>姓名</td>
<td>年龄</td>
<td>地址</td>
</tr>
<volist name="data" id="vo">
<tr>
<td>{$vo.name}</td>
<td>{$vo.age}</td>
<td>{$vo.addr}</td>
</tr>
</volist>
</table>
将列的数字序号转成字母使用,代码如下:
复制代码 代码如下:
\PHPExcel_Cell::stringFromColumnIndex($i); // 从o开始
将列的字母转成数字序号使用,代码如下:
复制代码 代码如下:
\PHPExcel_Cell::columnIndexFromString('AA');