PHPExcel导出导入数据

下载PHPExcel地址:https://github.com/PHPOffice/PHPExcel

1、用PHPExcel导出方法实现

基本流程:

    a:引入PHPExcel.php文件

        include("PHPExcel.php")

    b:创建PHPExcel对象

            $obj = new \PHPExcel();

    c:设置xls表格的横向标识(例如:array('A','B','C','D','E'))

                $cellName = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX', 'AY', 'AZ');

    d:设置sheet表标题

                $obj->getActiveSheet(0)->setTitle("sheet标题")

    e:设置表格标题

            $row = 1;  // 当前行数

            if(标题存在) {

                    foreach(标题数组 as $v) {


                    }

            }    

    f:设置表格数据

    g:设置文件名称

    h:是否下载

    i:是否保存


/**

* phpexcel导出数据

* @param string $sheetName            Excel表格名称

* @param array $title                  表格标题

* @param array $data                  表单数据

* @param string $fileName              保存的文件名

* @param string $savePath              保存路径

* @param bool $isDown                  是否下载

* @return string

* @throws PHPExcel_Exception

* @throws PHPExcel_Reader_Exception

* @throws PHPExcel_Writer_Exception

*/

function phpexcel_out($sheetName = '表单数据', $title = array(), $data = array(), $fileName = '', $savePath = '', $isDown = true) {

    vendor("phpexcel.PHPExcel");

    $obj = new \PHPExcel();

    $cellName = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX', 'AY', 'AZ');

    $obj->getActiveSheet(0)->setTitle($sheetName);  //设置sheet名称

    $_row = 1;  //设置纵向单元格标识

    if($title){

        $_cnt = count($title);

        $i = 0;

        foreach($title AS $v){  //设置列标题

            $obj->setActiveSheetIndex(0)->setCellValue($cellName[$i].$_row, $v);

            $i++;

        }

        $_row++;

    }

    //填写数据

    if($data){

        $i = 0;

        foreach($data as $_v){

            $j = 0;

            foreach($_v as $_cell){

                $obj->getActiveSheet(0)->setCellValue($cellName[$j] . ($i+$_row), $_cell);

                $j++;

            }

            $i++;

        }

}

    //文件名处理

    if(!$fileName){

        $fileName = uniqid(time(),true);

    }

    $objWrite = PHPExcel_IOFactory::createWriter($obj, 'Excel2007');

    if($isDown){  //网页下载

        header('pragma:public');

        header("Content-Disposition:attachment;filename=$fileName.xls");

        $objWrite->save('php://output');exit;

    }

    $_fileName = iconv("utf-8", "gb2312", $fileName);  //转码

    if($savePath) {

        $_savePath = $savePath.$_fileName.'.xlsx';

        $objWrite->save($_savePath);

    }

    return $savePath.$fileName.'.xlsx';

}

你可能感兴趣的:(PHPExcel导出导入数据)