PHP导出Excel实例讲解


Posted in PHP onJanuary 24, 2016

本次实现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('https://3water.com')
               ->setLastModifiedBy('https://3water.com')
               ->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 相关文章推荐
php数组对百万数据进行排除重复数据的实现代码
Jun 08 PHP
让PHP以ROOT权限执行系统命令的方法
Feb 10 PHP
基于PHP字符串的比较函数strcmp()与strcasecmp()的使用详解
May 15 PHP
php出现内存位置访问无效错误问题解决方法
Aug 16 PHP
php+curl 发送图片处理代码分享
Jul 09 PHP
PHP合并discuz用户脚本的方法
Aug 04 PHP
必须收藏的23个php实用代码片段
Feb 02 PHP
php array_values 返回数组的所有值详解及实例
Nov 12 PHP
php实现图片按比例截取的方法
Feb 06 PHP
PHP实现数组的笛卡尔积运算示例
Dec 15 PHP
php格式文件打开的四种方法
Feb 24 PHP
PHP工厂模式简单实现方法示例
May 23 PHP
PHP验证码生成原理和实现
Jan 24 #PHP
详解PHP对象的串行化与反串行化
Jan 24 #PHP
php上传图片获取路径及给表单字段赋值的方法
Jan 23 #PHP
高质量PHP代码的50个实用技巧必备(下)
Jan 22 #PHP
php使用timthumb生成缩略图的方法
Jan 22 #PHP
php session的锁和并发
Jan 22 #PHP
php5.4传引用时报错问题分析
Jan 22 #PHP
You might like
php开发环境配置记录
2011/01/14 PHP
PHP函数microtime()用法与说明
2013/12/04 PHP
php中的buffer缓冲区用法分析
2019/05/31 PHP
DIV+CSS+JS不间断横向滚动实现代码
2013/03/19 Javascript
放弃用你的InnerHTML来输出HTML吧 jQuery Tmpl不详细讲解
2013/04/20 Javascript
java与javascript之间json格式数据互转介绍
2013/10/29 Javascript
jquery实现效果比较好的table选中行颜色
2014/03/25 Javascript
JavaScript中的console.profile()函数详细介绍
2014/12/29 Javascript
Js和JQuery获取鼠标指针坐标的实现代码分享
2015/05/25 Javascript
JavaScript中的substr()方法使用详解
2015/06/06 Javascript
解决WordPress使用CDN后博文无法评论的错误
2015/12/15 Javascript
Bootstrap实现下拉菜单效果
2016/04/29 Javascript
基于vue2.0实现的级联选择器
2017/06/09 Javascript
jQuery访问浏览器本地存储cookie、localStorage和sessionStorage的基本用法
2017/10/20 jQuery
如何将你的AngularJS1.x应用迁移至React的方法
2018/02/01 Javascript
使用JavaScript生成罗马字符的实例代码
2018/06/08 Javascript
轻松学习JavaScript函数中的 Rest 参数
2019/05/30 Javascript
使用layui的router来进行传参的实现方法
2019/09/06 Javascript
微信小程序实现图片压缩
2019/12/03 Javascript
vue组件创建的三种方式小结
2020/02/03 Javascript
谈谈JavaScript中的函数
2020/09/08 Javascript
Python编程实现蚁群算法详解
2017/11/13 Python
python获取网页中所有图片并筛选指定分辨率的方法
2018/03/31 Python
python实现pdf转换成word/txt纯文本文件
2018/06/07 Python
基于pycharm导入模块显示不存在的解决方法
2018/10/13 Python
详解django2中关于时间处理策略
2019/03/06 Python
Python 实用技巧之利用Shell通配符做字符串匹配
2019/08/23 Python
Selenium关闭INFO:CONSOLE提示的解决
2020/12/07 Python
HTML5触摸事件(touchstart、touchmove和touchend)的实现
2020/05/08 HTML / CSS
Under Armour安德玛英国官网:美国高端运动科技品牌
2018/09/17 全球购物
毕业自我鉴定范文
2013/11/06 职场文书
平面设计的岗位职责
2013/11/08 职场文书
个人素质的自我评价分享
2013/12/16 职场文书
现实表现证明材料
2015/06/19 职场文书
开学季:喜迎新生,迎新标语少不了
2019/11/07 职场文书
MySQL数据库实验之 触发器和存储过程
2022/06/21 MySQL