PHPEXCEL使用方法

   最近需要搞一个php导出功能,以前没咋搞过php项目,java的poi导出倒是很早就接触到了。于是,查阅了一些资料,选用强大的开源phpexcel技术。

具体用法如下:

     1. 下载工具包,http://phpexcel.codeplex.com/,现在我用的最新版本PHPExcel 1.7.6 Production。

         我们可以直接解压到apache服务器的访问目录,可以直接访问里面的demo,找到适合自己的。

    2. copy压缩包的phpexcel文件(包含常用方法的定义)、demo.php至自己的项目,

        demo.php:


   修改require指向的路径,PHPExcel.php是主要的工具类,用它new对象即可对excel进行创建、插入、设置样式等操作了。

   3. 下面是我的一些代码示例。

// Create new PHPExcel object
$objPHPExcel = new PHPExcel();        // 创建php工具类对象
if($type==0){
        // Set properties 设置一些基本属性,一般我们不需要改动
        $objPHPExcel->getProperties()->setCreator("Maarten Balliauw")
                                     ->setLastModifiedBy("Maarten Balliauw")
                                     ->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("Test result file");
        
        
        // Add some data 添加数据 A2:代表第一列第2行,以此类推
        $objPHPExcel->setActiveSheetIndex(0)   
                    ->setCellValue('A2', '渠道')
                    ->setCellValue('B1', '包月用户')
                 
        $objPHPExcel->getSheet(0)->mergeCells("B1:F1");   // 合并第一个
        $objPHPExcel->getSheet(0)->mergeCells("G1:I1");
        $objPHPExcel->getSheet(0)->getStyle("A1:I1")->getFont()->setBold(true); //设置字体加粗
        // 居中显示
        $objPHPExcel->getSheet(0)->getStyle("A1:I1")->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);                                          
        $objPHPExcel->getSheet(0)->getStyle("A2:I2")->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
        $objPHPExcel->getSheet(0)->getColumnDimension("A")->setWidth(15); // 设置宽度
        $objPHPExcel->getSheet(0)->getColumnDimension("B")->setWidth(15);


       // 查询获取数据
        $sql_ch_stat = "select * from cnl ";
        $row_ch_stat = $db->query($sql_ch_stat);
        $num=3;  // 从第三行开始循环添加数据
         while($rs_ch_stat = $db->fetch_array($row_ch_stat)){
           $index=0;

           // 给确定的单元格赋值,要名称行indexid和列indexid
           $objPHPExcel->setActiveSheetIndex(0)->getCellByColumnAndRow($index,$num)->setValue($rs_ch_stat["cnlid_des"]);  
               foreach($ch_stats as $k=>$v){
              $outnum = isset($rs_ch_stat[$k])?$rs_ch_stat[$k]:0;
              $index++;           
              $objPHPExcel->setActiveSheetIndex(0)->getCellByColumnAndRow($index,$num)->setValue($outnum);
                  //  ->setCellValue('B'.$num, $outnum);     
            }
           $num++;
         }

        $objPHPExcel->setActiveSheetIndex(0);

如果导出的excel无法打开,添加下面两行。
ob_end_clean(); // Added by me
ob_start(); // Added by me

大致就这么多就够用了。。。。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值