PHPExcel使用(二)

本文介绍了一种使用PHP实现从数据库获取数据并导出为Excel文件的方法。文章详细展示了如何设置Excel属性、定义表头、填充数据以及最终将文件发送到浏览器的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?php
//获取需要下载的内容
...
public function downlodExcel(){
    $data = []; //三维数组
    //导出excel文件名称
    $filename = $start_time . '至' . $end_time .'xxx' . '.xlsx';
    //兼容IE9
    $filename = urlencode($filename);

    //excel第一栏头
    $header = [
    "时间",
    "地点",
    "人物",
    "事件",
    "缘由",
    "其他自己编"
    ];
    $title = "报表";
    $witer = $this->excel($filename,$title,$header,$data);
}

public function excel(){
    //引入excel文件
    require_once('PHPExcel.php');
    $objexcel = new PHPExcel();
    //设置excel属性
    $obj = $objexcel->getProperties();  
    $obj->setCreator("xxx");           //设置创建人
    $obj->setLastModifiedBy("xxx");    //最后修改人
    $obj->setTitle("{$title}");        //标题
    $obj->setSubject("xxx");           //题目
    $obj->setDescription("内容由xxx生成");//描述
    $obj->setKeywords();                //关键字
    $obj->setCategory();                //种类

    //设置当前活动sheet
    $obj->setActiveSheetIndex(0);
    //获取当前活动sheet对象
    $objActSheet = $obj->getActiveSheet();
    //设置sheet标题
    $objActSheet->setTitle($title);

    //首行标题
    for($i = 0, $row = count($header); $i < $row; $i ++){
        //获取列名称
        //columnindexFromString(); 返回1为A列
        //stringFromColumnIndex(); 返回0为A列

        $colLabel = PHPExcel_Cell::stringFromColumnIndex($i);
        //定位单元格
        $label = $colLabel . 1;
        //每个单元格的值
        $value = $header[$i];
        //插入数据
        $col = $objActSheet->setCellValue($label,$value);
        //设置单元格的宽度
        //$objActSheet->getColumnDimension($colLabel)->setWidth(true);
        $objActSheet->getColumnDimension($colLabel)->setWidth("30");
        //设置单元格高度
        $objActSheet->getDefaultRowDimension()->setRowHeight("20");
    }
    //正文
    //遍历要输出的内容
    for($i = 0,$column = count($data); $i < $column; $i++){
        $keyIndex = 0;
        $text = $data[$i];
        foreach($text as $col){
            $colLabel = PHPExcel_Cell::stringFromColumnIndex($keyIndex);
            $label = $colLabel . ($i+2);
            $colValue = $objActSheet->setCellValue($label,$col);
            $keyIndex ++;
        }
    }

    //输出excel到浏览器
    $outputFilename = "{$filename}.xlsx";
    header("Content-Type:application/force-download");
    header('Content-Disposition:inline;filename="'.$outputFilename'"');
    header("Pragma:no-cache");
    $objWriter = new PHPExcel_Writer_Excel2007($objExcel);
    //保存文件
    $objWriter->save('php://output');
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值