Phpexcel範例

<?php
/**
*为了方便测试,体现其功能,我就不连数据库了,连了数据就循环增加数据,输出就可以了
*基本使用功能都实现了,不过还没有做图片技术,不过都一样了
*@author nick 2012/10/15
*/
header("Content-type: text/html;charset=utf-8");
require_once '/PHPExcel-1.7.7/Classes/PHPExcel.php';
require_once '/PHPExcel-1.7.7/Classes/PhpExcel/Writer/Excel2007.php';
require_once '/PHPExcel-1.7.7/Classes/PhpExcel/Writer/Excel5.php';
include_once '/PHPExcel-1.7.7/Classes/PhpExcel/IOFactory.php';  
//创建一个处理对象实例
$objExcel = new PHPExcel();  

//把单元格合并了
 $objExcel->getActiveSheet()->setCellValue('A1', '张三丰教东方不败练葵花宝典');   
 $objExcel->getActiveSheet()->mergeCells('A1:C1');
 //在看一下能不能给标题设个颜色,
 $objExcel->getActiveSheet()->getStyle('A1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_BLUE);

 //总算OK了,在设的看一下能不能居中
$objExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

//进行表头的设置
 $objExcel->getActiveSheet()->setCellValue('a2', "秘籍");
 $objExcel->getActiveSheet()->setCellValue('b2', "师父");
 $objExcel->getActiveSheet()->setCellValue('c2', "徒弟");

//为了让我们的报表更好看点,在在表格的栏上填充一个色吧
$objExcel->getActiveSheet()->getStyle('a2')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objExcel->getActiveSheet()->getStyle('a2')->getFill()->getStartColor()->setARGB('FF808080');
$objExcel->getActiveSheet()->getStyle('b2')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objExcel->getActiveSheet()->getStyle('b2')->getFill()->getStartColor()->setARGB('FF808080');
$objExcel->getActiveSheet()->getStyle('c2')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objExcel->getActiveSheet()->getStyle('c2')->getFill()->getStartColor()->setARGB('FF808080');

  //表的主体内容设置了
  $objExcel->getActiveSheet()->setCellValue('a3', "葵花宝典");
  $objExcel->getActiveSheet()->setCellValue('b3', "张三丰");
  $objExcel->getActiveSheet()->setCellValue('c3', "东方不败");
  $objExcel->getActiveSheet()->setCellValue('a4', "葵花宝典");
  $objExcel->getActiveSheet()->setCellValue('b4', "张三丰");
  $objExcel->getActiveSheet()->setCellValue('c4', "东方不败");

  //我在设置列的宽度在试试了
  $objExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20);
  $objExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20);
  $objExcel->getActiveSheet()->getColumnDimension('C')->setWidth(20);
  //在设置一下标题字体格式,加粗看看
  $objExcel->getActiveSheet()->getStyle('a1')->getFont()->setBold(true);
  $objExcel->getActiveSheet()->getStyle('a1')->getFont()->setSize(16);
  //下面就是主体内容了.
  $objExcel->getActiveSheet()->getStyle('a2')->getFont()->setBold(true);
  $objExcel->getActiveSheet()->getStyle('a2')->getFont()->setSize(12);
  $objExcel->getActiveSheet()->getStyle('b2')->getFont()->setBold(true);
  $objExcel->getActiveSheet()->getStyle('b2')->getFont()->setSize(12);
  $objExcel->getActiveSheet()->getStyle('c2')->getFont()->setBold(true);
  $objExcel->getActiveSheet()->getStyle('c2')->getFont()->setSize(12);
 //上面设置了色了,在加点功能吧(字体颜色)
$objExcel->getActiveSheet()->getStyle('a2')->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
$objExcel->getActiveSheet()->getStyle('a2')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);
$objExcel->getActiveSheet()->getStyle('b2')->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
$objExcel->getActiveSheet()->getStyle('b2')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);
$objExcel->getActiveSheet()->getStyle('c2')->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
$objExcel->getActiveSheet()->getStyle('c2')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);

  //看一下能不能给我的表格加入一个边框,
    $objExcel->getActiveSheet()->getStyle('a2')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
    $objExcel->getActiveSheet()->getStyle('a2')->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
    $objExcel->getActiveSheet()->getStyle('a2')->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
    $objExcel->getActiveSheet()->getStyle('a2')->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
    $objExcel->getActiveSheet()->getStyle('b2')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
    $objExcel->getActiveSheet()->getStyle('b2')->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
    $objExcel->getActiveSheet()->getStyle('b2')->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
    $objExcel->getActiveSheet()->getStyle('b2')->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
    $objExcel->getActiveSheet()->getStyle('c2')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
    $objExcel->getActiveSheet()->getStyle('c2')->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
    $objExcel->getActiveSheet()->getStyle('c2')->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
    $objExcel->getActiveSheet()->getStyle('c2')->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   

    $objExcel->getActiveSheet()->getStyle('a3')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
    $objExcel->getActiveSheet()->getStyle('a3')->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
    $objExcel->getActiveSheet()->getStyle('a3')->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
    $objExcel->getActiveSheet()->getStyle('a3')->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
    $objExcel->getActiveSheet()->getStyle('b3')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
    $objExcel->getActiveSheet()->getStyle('b3')->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
    $objExcel->getActiveSheet()->getStyle('b3')->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
    $objExcel->getActiveSheet()->getStyle('b3')->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   

    $objExcel->getActiveSheet()->getStyle('c3')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
    $objExcel->getActiveSheet()->getStyle('c3')->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
    $objExcel->getActiveSheet()->getStyle('c3')->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
    $objExcel->getActiveSheet()->getStyle('c3')->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   

    $objExcel->getActiveSheet()->getStyle('a4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
    $objExcel->getActiveSheet()->getStyle('a4')->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
    $objExcel->getActiveSheet()->getStyle('a4')->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
    $objExcel->getActiveSheet()->getStyle('a4')->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
    $objExcel->getActiveSheet()->getStyle('b4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
    $objExcel->getActiveSheet()->getStyle('b4')->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
    $objExcel->getActiveSheet()->getStyle('b4')->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
    $objExcel->getActiveSheet()->getStyle('b4')->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
  $objExcel->getActiveSheet()->getStyle('c4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
    $objExcel->getActiveSheet()->getStyle('c4')->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
    $objExcel->getActiveSheet()->getStyle('c4')->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
    $objExcel->getActiveSheet()->getStyle('c4')->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   

  //对报表进行命个名子吧
  $sheetname="葵花宝典";
  $objExcel->getActiveSheet()->setTitle($sheetname);

  //上面设置了报表的名子就就可以下载了
   $filename=$sheetname.'.xls';
  header("Content-type: text/csv");
  header('Content-Disposition: attachment;filename="'.$filename.'"');
  header('Cache-Control: must-revalidate, post-check=0,pre-check=0');
  header('Expires:0');
  header('Pragma:public');
  $objWriter = PHPExcel_IOFactory::createWriter($objExcel, 'Excel5');
 $objWriter->save('php://output');
?>

 

posted @ 2013-02-07 16:17  jeremyatchina  阅读(385)  评论(0编辑  收藏  举报