PHP导出Excel实例讲解

5年以前  |  阅读数:264 次  |  编程语言:PHP 

本次实现PHP导出Excel文件使用的是PHP开源程序PHPExcel,部分关键代码分享给大家,具体内容如下


    <?php
    error_reporting(E_ALL);
    date_default_timezone_set('Asia/Shanghai');
    require_once './Classes/PHPExcel.php';
    $data=array(
      0=>array(
        'id'=>1001,

        'username'=>'张飞',
        'password'=>'123456',
        'address'=>'三国时高老庄250巷101室'
      ),
      1=>array(
        'id'=>1002,
        'username'=>'关羽',
        'password'=>'123456',
        'address'=>'三国时花果山'
      ),
      2=>array(
        'id'=>1003,
        'username'=>'曹操',
        'password'=>'123456',
        'address'=>'延安西路2055弄3号'
      ),
      3=>array(
        'id'=>1004,
        'username'=>'刘备',
        'password'=>'654321',
        'address'=>'愚园路188号3309室'
      )
    );
    $objPHPExcel=new PHPExcel();
    $objPHPExcel->getProperties()->setCreator('http://www.jb51.net')
                   ->setLastModifiedBy('http://www.jb51.net')
                   ->setTitle('Office 2007 XLSX Document')
                   ->setSubject('Office 2007 XLSX Document')
                   ->setDescription('Document for Office 2007 XLSX, generated using PHP classes.')
                   ->setKeywords('office 2007 openxml php')

                   ->setCategory('Result file');

    $objPHPExcel->setActiveSheetIndex(0)

          ->setCellValue('A1','ID')

          ->setCellValue('B1','用户名')

          ->setCellValue('C1','密码')

          ->setCellValue('D1','地址');

    $i=2;     

    foreach($data as $k=>$v){

      $objPHPExcel->setActiveSheetIndex(0)
          ->setCellValue('A'.$i,$v['id'])
          ->setCellValue('B'.$i,$v['username'])
          ->setCellValue('C'.$i,$v['password'])
          ->setCellValue('D'.$i,$v['address']);

      $i++;

    }
    $objPHPExcel->getActiveSheet()->setTitle('三年级2班');

    $objPHPExcel->setActiveSheetIndex(0);
    $filename=urlencode('学生信息统计表').'_'.date('Y-m-dHis');

    //生成xlsx文件
    /*
    header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
    header('Content-Disposition: attachment;filename="'.$filename.'.xlsx"');
    header('Cache-Control: max-age=0');
    $objWriter=PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007');
    */

    //生成xls文件
    header('Content-Type: application/vnd.ms-excel');
    header('Content-Disposition: attachment;filename="'.$filename.'.xls"');
    header('Cache-Control: max-age=0');
    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
    $objWriter->save('php://output');
    exit;

注意:如果导出中文时出现乱码,可以尝试将字符串转换成gb2312,代码类似如下:

查看代码打印


    $str=mb_convert_encoding("gb2312","UTF-8",$str);

以上就是本文的全部内容,希望对大家的学习有所帮助。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例