首页 > php开发 > PHP中利用PHPExcel导出Excel示例

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

转载随意^^请带上本文地址!

标签:php导出excel phpexcel

相关文章

发表留言