PHP中利用PHPExcel导出Excel示例
在php中导出excel有一种最简单的方法就是导出csv文件,但要做到真正的导出excel文件我们可以借助于PHPExcel插件来实现.
PHPExcel是个很强大的PHP操作Excel的类库,但是对于简单的将数据用PHP 导出 Excel来说这有点显得复杂,在google code上有一个PHP 导出 Excel的类,可以简单调用,很方便.
PHP中利用PHPExcel导出Excel示例代码如下:
<?php // load library require 'php-excel.class.php'; // create a simple 2-dimensional array $data = array( 1 => array( 'Name', 'Surname' ) , array( 'Schwarz', 'Oliver' ) , array( 'Test', 'Peter' ) ); // generate file (constructor parameters are optional) $xls = new Excel_XML('UTF-8', false, 'My Test Sheet'); $xls->addArray($data); $xls->generateXML('my-test'); ?>
例2,代码如下:
<?php /** * PHPEXCEL生成excel文件 * @author:firmy * @desc 支持任意行列数据生成excel文件,暂未添加单元格样式和对齐 */ require_once 'library/PHPExcel.php'; require_once 'library/PHPExcel/Reader/Excel2007.php'; require_once 'library/PHPExcel/Reader/Excel5.php'; include_once 'library/PHPExcel/IOFactory.php'; $fileName = "test_excel"; $headArr = array( "第一列", "第二列", "第三列" ); $data = array( array( 1, 2 ) , array( 1, 3 ) , array( 5, 7 ) ); getExcel($fileName, $headArr, $data); function getExcel($fileName, $headArr, $data) { if (emptyempty($data) || !is_array($data)) { die("data must be a array"); } if (emptyempty($fileName)) { exit; } $date = date("Y_m_d", time()); $fileName.= "_{$date}.xlsx"; //创建新的PHPExcel对象 $objPHPExcel = new PHPExcel(); $objProps = $objPHPExcel->getProperties(); //设置表头 $key = ord("A"); foreach ($headArr as $v) { $colum = chr($key); $objPHPExcel->setActiveSheetIndex(0)->setCellValue($colum . '1', $v); $key+= 1; } $column = 2; $objActSheet = $objPHPExcel->getActiveSheet(); foreach ($data as $key => $rows) { //行写入 $span = ord("A"); foreach ($rows as $keyName => $value) { // 列写入 $j = chr($span); $objActSheet->setCellValue($j . $column, $value); $span++; } $column++; } $fileName = iconv("utf-8", "gb2312", $fileName); //重命名表 $objPHPExcel->getActiveSheet()->setTitle('Simple'); //设置活动单指数到第一个表,所以Excel打开这是第一个表 $objPHPExcel->setActiveSheetIndex(0); //将输出重定向到一个客户端web浏览器(Excel2007) header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header("Content-Disposition: attachment; filename="$fileName""); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); //开源代码phprm.com if (!emptyempty($_GET['excel'])) { $objWriter->save('php://output'); //文件通过浏览器下载 } else { $objWriter->save($fileName); //脚本方式运行,保存在当前目录 } exit; } ?>
phpexcel类的下载地址:http://php-excel.googlecode.com/files/php-excel-v1.1-20090910.zip
文章地址:http://www.phprm.com/develop/fs4837.html
转载随意^^请带上本文地址!