蜗牛999 发表于 2014-4-30 15:39:28

phpexcel使用方法

<?php
header("Content-type: text/html;charset=utf-8");

class Excels
{
    /**
   *
   */
    private $_ci;
    private $data = array();
    private $title = array();

    public function __construct()
    {
      
         $_ci =& get_instance();
      $_ci->load->library('phpexcel');
      
      include_once './PHPExcel/Iofactory';
   
    }
    // 接收 数据数组
    public function exports($data,$underling)
    {
                              $objPHPExcel = new PHPExcel();
                                    $this->data = $data;
                           
                                    $this->underling=$underling;
                                    //设置属性
                                    $objPHPExcel->getProperties()->setCreator("SinoGrid")
                                     ->setLastModifiedBy("SinoGrid")
                                     ->setTitle("Office 2007 XLSX Test Document")
                                     ->setSubject("Office 2007 XLSX Test Document")
                                     ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
                                     ->setKeywords("office 2007 openxml php")
                                     ->setCategory("SinoGrid");

                                    
                                    
                                    $objActSheet = $objPHPExcel->getActiveSheet();
                                    
                                    
                           
                                    
                                    foreach($this->underling as $key => $val){
                                        //添加一个新的worksheet
                                        $objPHPExcel->createSheet();
                                        $objPHPExcel->setActiveSheetIndex($key);
                                        $objActSheet = $objPHPExcel->getActiveSheet();
                                        //设置当前活动sheet的名称
                                        $objActSheet->setTitle($val["username"]);
                                       
                                        //设置宽度
                                        $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(15);
                                        $objPHPExcel->getActiveSheet() ->getColumnDimension('B')->setWidth(15);
                                        $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(115);
                                        $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(115);
                                       
                                        // 设置字体
                                        $objPHPExcel->getActiveSheet()->getStyle( 'A1:D1')->applyFromArray(
                                                array(
                                                      'font'    => array ('bold' => true)
                                                )
                                        );
                                        // 字体大小
                                        $objPHPExcel->getActiveSheet()->getStyle( 'A1:D1')->getFont()->setSize(14);
                                          
                                        // 栏目背景颜色
                                        $objPHPExcel->getActiveSheet()->getStyle( 'A1:D1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
                                        $objPHPExcel->getActiveSheet()->getStyle( 'A1:D1')->getFill()->getStartColor()->setARGB('0c71c1');
                                        //设置高度
                                        $objActSheet->getDefaultRowDimension()->setRowHeight(30);
                                        // 文字居中
                                        $objStyleA1 = $objPHPExcel->getActiveSheet()->getStyle('A1:D100');
                                        $objAlignA1 = $objStyleA1->getAlignment();
                                        $objAlignA1->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
                                        $objAlignA1->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
                                       
                                        //设置标题
                                        $objActSheet->setCellValue('A1', '用户名');
                                        $objActSheet->setCellValue('B1', '日报时间');
                                        $objActSheet->setCellValue('C1', '本日总结');
                                        $objActSheet->setCellValue('D1', '明日计划');
                                        $num=2;
                                        foreach($this->data as $k =>$v){
                                          if($v["daily_user"]==$val["username"]){
                                                
                                                $objActSheet->setCellValue("A".$num,$v["daily_user"]);
                                                $objActSheet->setCellValue("B".$num,$v["daily_time"]);
                                                $objActSheet->setCellValue("C".$num,$v["today"]);
                                                $objActSheet->setCellValue("D".$num,$v["tomorrow"]);
                                                $objActSheet ->getStyle("C".$num)->getAlignment()->setWrapText(true);//自动换行
                                                $objActSheet ->getStyle("D".$num)->getAlignment()->setWrapText(true);//自动换行
                                                $num++;
                                          }
                                        }
                                    }
                              
                              // 清除缓冲
                              ob_clean();
                        
                              //操作句柄 输出文件
                              $objPHPExcel->setActiveSheetIndex(0);
                              $name = date("Y-m-d H:i");
                              $name .= "pdca.xls";
                        
                              header('Content-Type: application/vnd.ms-excel; charset=utf-8');
                              header('Pragma:public');
                              header('Content-Type:application/x-msexecl;name="'.$name.'"');
                              header('Content-Disposition:inline;filename="'.$name.'"');
                              $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
                              $objWriter->save('php://output');
                              exit;
    }

}

data:image/png;base64,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
目录结构如图

在控制器调用exports方法传递需要显示的数据即可,需要根据具体情况修改

蜗牛999 发表于 2014-5-2 12:03:17

后来发现window下没问题,linux服务器就出现了问题,有个函数已经丢弃。:L

蜗牛999 发表于 2014-5-3 23:40:01

                                                                                $objPHPExcel->getActiveSheet()->getStyle('A1:D100')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
                                                                                $objPHPExcel->getActiveSheet()->getStyle('A1:D100')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
这个文本居中修正。

蜗牛999 发表于 2014-5-4 19:02:55

$_ci =& get_instance();
$_ci->load->library('phpexcel');
include_once './PHPExcel/Iofactory';
linux下有问题
构造函数有问题,使用相对路径引入实例化即可。

smilecc123 发表于 2014-5-7 15:09:09

这个方法不智能,比如A,B,C之类的得自己写,麻烦死了!建议看下这个
http://blog.sina.com.cn/s/blog_7b88ff6d0101fu7d.html
页: [1]
查看完整版本: phpexcel使用方法