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 pcntl_fork和pcntl_fork 的用法
Apr 13 PHP
php与paypal整合方法
Nov 28 PHP
PHP实现邮件群发的源码
Jun 18 PHP
php中{}大括号是什么意思
Dec 01 PHP
PHP 提取图片img标记中的任意属性的简单实例
Dec 10 PHP
php的hash算法介绍
Feb 13 PHP
一漂亮的PHP图片验证码实例
Mar 21 PHP
PHP的引用详解
Feb 22 PHP
php使用Image Magick将PDF文件转换为JPG文件的方法
Apr 01 PHP
PHP实现的构造sql语句类实例
Feb 03 PHP
Laravel使用memcached缓存对文章增删改查进行优化的方法
Oct 08 PHP
PHP基于SMTP协议实现邮件发送实例代码
Apr 27 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+jQuery 注册模块开发详解
2014/10/14 PHP
php中关于socket的系列函数总结
2015/05/18 PHP
64位windows系统下安装Memcache缓存
2015/12/06 PHP
Mootools 1.2教程 Fx.Morph、Fx选项和Fx事件
2009/09/15 Javascript
JavaScript 数组循环引起的思考
2010/01/01 Javascript
jQuery技巧总结
2011/01/01 Javascript
JsRender实用入门教程
2014/10/31 Javascript
BootStrap3中模态对话框的使用
2017/01/06 Javascript
nodejs动态创建二维码的方法
2017/08/12 NodeJs
利用js编写网页进度条效果
2017/10/08 Javascript
weebox弹出窗口不居中显示的解决方法
2017/11/27 Javascript
node实现基于token的身份验证
2018/04/09 Javascript
vue 组件中添加样式不生效的解决方法
2018/07/06 Javascript
使用VScode 插件debugger for chrome 调试react源码的方法
2019/09/13 Javascript
Node.js开发之套接字(socket)编程入门示例
2019/11/05 Javascript
Vue 解决路由过渡动画抖动问题(实例详解)
2020/01/05 Javascript
vue.js实现双击放大预览功能
2020/06/23 Javascript
[01:06:42]VP vs NewBee Supermajor 胜者组 BO3 第二场 6.5
2018/06/06 DOTA
Python的面向对象思想分析
2015/01/14 Python
Python numpy生成矩阵、串联矩阵代码分享
2017/12/04 Python
django+mysql的使用示例
2018/11/23 Python
举例讲解Python常用模块
2019/03/08 Python
Django 用户登陆访问限制实例 @login_required
2020/05/13 Python
浅谈Keras的Sequential与PyTorch的Sequential的区别
2020/06/17 Python
利用HTML5+css3+jquery+weui实现仿微信聊天界面功能
2018/01/08 HTML / CSS
全球速卖通俄罗斯站:AliExpress俄罗斯
2019/06/17 全球购物
2014年个人委托书范本
2014/10/13 职场文书
先进单位事迹材料
2014/12/25 职场文书
青年教师个人总结
2015/02/11 职场文书
事业单位工作人员年度考核个人总结
2015/02/12 职场文书
2015小学音乐教师个人工作总结
2015/07/21 职场文书
婚庆答谢词大全
2015/09/29 职场文书
python b站视频下载的五种版本
2021/05/27 Python
MySQL中in和exists区别详解
2021/06/03 MySQL
浅谈redis的过期时间设置和过期删除机制
2022/03/18 MySQL
springboot读取resources下文件的方式详解
2022/06/21 Java/Android