zoukankan      html  css  js  c++  java
  • PHPExcel导出主要代码记录

    /*
     * 获取下一个列名
     * 注意,此方法最多支持到两位
     * */
    function getNextColum($colum){
        if(empty($colum))return 'A';
        $key = ord(substr($colum,strlen($colum)-1,1));
        if($key<90){
            $str = strlen($colum)>1?substr($colum,0,1).chr($key+1):chr($key+1);
        }else{
            $str = strlen($colum)>1?chr(ord(substr($colum,0,1))+1).'A':'AA';
        }
        return $str;
    }
    
    function exportExcel(){
        $keyValue = array(
            'field_01' => '第一列标题',
            'field_02' => '第二列标题',
            'field_03' => '第三列标题',
            'field_04' => '第四列标题',
        );
        $list = array(
            array('field_01' => 'value_01', 'field_02' => 'value_02', 'field_03' => 'value_03', 'field_04' => 'value_04'),
            array('field_01' => 'value_01', 'field_02' => 'value_02', 'field_03' => 'value_03', 'field_04' => 'value_04'),
            array('field_01' => 'value_01', 'field_02' => 'value_02', 'field_03' => 'value_03', 'field_04' => 'value_04'),
            array('field_01' => 'value_01', 'field_02' => 'value_02', 'field_03' => 'value_03', 'field_04' => 'value_04')
        );
        $this->import('PHPExcel');
        $PHPExcel = new PHPExcel();
        $fileName = iconv("utf-8", "GBK", 'excel文件名_导出时间(' . date('YmdHi', time()) . ').xlsx');
        $colum = "A";//设置表头
        foreach ($keyValue as $keys => $value) {
            $PHPExcel->setActiveSheetIndex(0)->setCellValue($colum . '1', $value);
            $PHPExcel->getActiveSheet()->getColumnDimension($colum)->setWidth(30);
            $colum = getNextColum($colum);
        }
        $row = 2;
        foreach ($list as $value) {
            $colum = "A";//设置表头
            foreach ($keyValue as $v => $fieldContent) {
                $PHPExcel->setActiveSheetIndex(0)->setCellValueExplicit($colum . $row, empty($value[$v]) ? '--' : $value[$v], PHPExcel_Cell_DataType::TYPE_STRING);
                $PHPExcel->getActiveSheet()->getColumnDimension($colum)->setWidth(30);
                $colum = getNextColum($colum);
            }
            $row++;
        }
        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($PHPExcel, 'Excel2007');
        $objWriter->save('php://output');
    }
  • 相关阅读:
    Element节点
    Document节点
    ParentNode接口,ChildNode接口
    NodeList接口,HTMLCollection接口
    Node接口
    DOM概述
    Promise对象
    定时器
    IT常用日语
    配置JavaWeb开发环境
  • 原文地址:https://www.cnblogs.com/qifeng1991/p/4864801.html
Copyright © 2011-2022 走看看