基于thinkphp3.2拓展phpexcel类库

来源:互联网 发布:淘宝卖家回复买家评语 编辑:程序博客网 时间:2024/05/07 19:36

基于thinkphp3.2拓展phpexcel类库

  • 使用版本:thinkphp3.2,PHPExcel_1.8.0
    下面简单的说明一下如何使用

Step1.

解压文件,解压后可以看到如右图的目录,其中:

Classes => 类库
Documentation => 使用说明
Examples => 例子
changelog.txt => 历史版本
license.txt => 许可说明
这里写图片描述

Step2.

把Classes整个文件复制进需要使用的模块的Lib目录下,更名为“PHPExcel”St并且把PHPExcel.php改名为PHPExcel.class.php:

这里写图片描述

Step3.

最重要的一步:导入类库,然后各种改,发一遍简简单单的代码冒一下:

public function test () {        import('@.Lib.PHPExcel.PHPExcel');                                      // 倒入PHPExcel拓展包        $excel = new \PHPExcel();        $writer = new \PHPExcel_Writer_Excel5($excel);        $excel->getDefaultStyle()->getFont()->setName('宋体');                // 设置整个的页面为宋体        $filename = 'test.xls';        header("Pragma: public");        header("Expires: 0");        header("Cache-Control:must-revalidate, post-check=0,pre-check=0");        header("Content-Type:application/vnd.ms-execl");        header("Content-Type:application/octet-stream");        header("Content-Type:application/download");;        header('Content-Disposition:attachment;filename="'.$filename.'"');        header("Content-Transfer-Encoding:binary");        // 在A1设置标题         $excel->getActiveSheet()->mergeCells('A1:C1');                          // 合并单元格        $excel->getActiveSheet()->getRowDimension('1')->setRowHeight(40);       // 设置第1行的行高        $excel->getActiveSheet()->setCellValue('A1', '测试文件');               // 向A1写入内容        $excel->getActiveSheet()->getStyle('A1')->getFont()->setSize(16);       // 字体大小        $excel->getActiveSheet()->getStyle('A1')->getFont()->setBold(true);     // 粗体        #A1单元格水平居中        $excel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);        #A1单元格垂直居中        $excel->getActiveSheet()->getStyle('A1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);        // 向第二行写入列表标题        $colname = array('A', 'B', 'C');        $titleArr = array('编号', '名称', '备注');        foreach ($titleArr as $k => $v) {            $excel->getActiveSheet()->setCellValue($colname[$k] . '2', $v);        }        // 写入内容        $data = array(            array('no'=>1, 'name'=>'test', 'desc'=>'aaa'),            array('no'=>2, 'name'=>'test1', 'desc'=>'--'),            array('no'=>3, 'name'=>'test2', 'desc'=>'--'),            );        foreach ($data as $i => $item) {            $j = $i+3;            // PHPExcel_Cell_DataType::TYPE_STRING :设置该单元格的类型为字符串string            $excel->getActiveSheet()->setCellValueExplicit('A' . $j, $item['no'], \PHPExcel_Cell_DataType::TYPE_STRING);            $excel->getActiveSheet()->setCellValue('B' . $j, $item['name']);            $excel->getActiveSheet()->setCellValue('C' . $j, $item['desc']);        }        // 写入图片        $drawing = new \PHPExcel_Worksheet_Drawing();        // 图片路径 要使用绝对路径        $drawing->setPath('D:/face.jpg');        $drawing->setWidth(100);        $drawing->setHeight(100);        $drawing->setCoordinates('D1');        $drawing->getShadow()->setVisible(true);        $drawing->setWorksheet($excel->getActiveSheet());        // 在浏览器显示        $writer->save("php://output");    }

完成

这里写图片描述

0 0
原创粉丝点击