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
转载随意^^请带上本文地址!