php通过PHPExcel导出Excel表格

<?php
/*
*+----------------------------------------------------------------------
*   PHPExcel导出Excel表格
*   array $rearr  需要导出的数组
*+----------------------------------------------------------------------
*/
function export($rearr) {
    $result = array(
       '标题',
        '内容',
       '发表时间',
       '状态'
    );
    $arr = array(
       'A',
       'B',
       'C',
       'D'
    ); 
    //导入excel类
    include('PHPExcel.php');

    // 创建一个excel
    $objPHPExcel = new PHPExcel();

    /****************************************设置居中开始**************************************/
    foreach ($arr as $key => $value) {
        $objPHPExcel->getActiveSheet()->getStyle($value)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
    }
    /****************************************设置居中结束**************************************/
    // 循环$arr定义的列设置每列内容居中
    $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");

    /**************************************设置标题开始*****************************************/
    // 循环$arr定义的列和$result设置表头
    $objPHPExcel->setActiveSheetIndex(0);
    foreach ($arr as $key => $value) {
        $objPHPExcel->getActiveSheet()->setCellValue($value . "1", $result[$key]);
    }
    /**************************************设置标题结束*****************************************/

    /**************************************设置内容开始*****************************************/
    $objPHPExcel->setActiveSheetIndex(0);
    $i = 2;
    // $rearr需要导出的数据二维数组
    foreach ($rearr as $key => $value) {
        // 这里从二维数组里面通过键名获取到值放到相应的表格中
        $objPHPExcel->getActiveSheet()->setCellValue('A' . $i, $value['title']);
        $objPHPExcel->getActiveSheet()->setCellValue('B' . $i, $value['content']);
        $objPHPExcel->getActiveSheet()->setCellValue('C' . $i, $value['time']);
        $objPHPExcel->getActiveSheet()->setCellValue('D' . $i, $value['status']);
        $i++;
    }
    /**************************************设置内容结束*****************************************/

    /**************************************设置宽度开始*****************************************/
    // 循环$arr定义的列设置每列宽度
    foreach ($arr as $key => $value) {
        $objPHPExcel->getActiveSheet()->getColumnDimension($value)->setWidth(20);
    }
    /**************************************设置宽度结束*****************************************/

    /**************************************设置导出下载开始*****************************************/
    $objPHPExcel->getSheet(0)->setTitle('phpexcel'); // 工作区域标题
    header('Content-Type: application/vnd.ms-excel');
    header('Content-Disposition: attachment;filename="phpexcel测试.xls"');//导出文件
    header('Cache-Control: max-age=0');
    header('Cache-Control: max-age=1');
    header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
    header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); // always modified
    header('Cache-Control: cache, must-revalidate'); // HTTP/1.1
    header('Pragma: public'); // HTTP/1.0
    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
    $objWriter->save('php://output');//导出文件
    /**************************************设置导出下载结束*****************************************/
}


$arr[0]['title']='标题1';
$arr[0]['content']='内容1';
$arr[0]['time']=time();
$arr[0]['status']='1';
export($arr);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值