用PHP生成excel文件到指定目录


Posted in PHP onJune 22, 2015

最近公司要生成报表,用PHP生成。

header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=test_data.xls");

我百度了下,貌似这个很快能够实现,但是这个文件却是生成在在浏览器下载的地方,

我想把生成的文件生成到指定的目录,这样能否实现呢?

还有,可以往里面插入图片吗?

PHPExcel是英文的,看了半天没看懂。有没有直接生成的例子看啊?

下面我们附上例子:

/**
 +----------------------------------------------------------
 * 导入所需的类库 同java的Import
 * 本函数有缓存功能
 +----------------------------------------------------------
 * @param string $class 类库命名空间字符串
 * @param string $baseUrl 起始路径
 * @param string $ext 导入的文件扩展名
 +----------------------------------------------------------
 * @return boolen
 +----------------------------------------------------------
 */
function import($class, $baseUrl = '', $ext='.class.php') {
  static $_file = array();
  $class = str_replace(array('.', '#'), array('/', '.'), $class);
  if ('' === $baseUrl && false === strpos($class, '/')) {
    // 检查别名导入
    return alias_import($class);
  }
  if (isset($_file[$class . $baseUrl]))
    return true;
  else
    $_file[$class . $baseUrl] = true;
  $class_strut = explode('/', $class);
  if (empty($baseUrl)) {
    if ('@' == $class_strut[0] || APP_NAME == $class_strut[0]) {
      //加载当前项目应用类库
      $baseUrl = dirname(LIB_PATH);
      $class = substr_replace($class, basename(LIB_PATH).'/', 0, strlen($class_strut[0]) + 1);
    }elseif ('think' == strtolower($class_strut[0])){ // think 官方基类库
      $baseUrl = CORE_PATH;
      $class = substr($class,6);
    }elseif (in_array(strtolower($class_strut[0]), array('org', 'com'))) {
      // org 第三方公共类库 com 企业公共类库
      $baseUrl = LIBRARY_PATH;
    }else { // 加载其他项目应用类库
      $class = substr_replace($class, '', 0, strlen($class_strut[0]) + 1);
      $baseUrl = APP_PATH . '../' . $class_strut[0] . '/'.basename(LIB_PATH).'/';
    }
  }
  if (substr($baseUrl, -1) != '/')
    $baseUrl .= '/';
  $classfile = $baseUrl . $class . $ext;
  if (!class_exists(basename($class),false)) {
    // 如果类不存在 则导入类库文件
    return require_cache($classfile);
  }
}

/**
* 导出EXCEL表格
* @param array $data 数据,二维数组,每条数据一条记录
* @param array $title 每列数据的字段名,一唯数组,必须和数据顺序一致(可省略)
* @param string $filename excel名称
* @param array $field 需要指定导出的数据字段,排序必须和title一致,就是和查出数据的数组key值
*/
function exportExcel($data='',$title='',$filename='excel',$field=array()){
  if(!$data || !is_array($data)) return false;
  if($filename=='') $filename='excel';
  if($field && is_array($field)){//只要导出指定字段,且按这个顺序导出
    $dateNew=array();
    foreach ($data as $k=>$v){
      foreach ($field as $fkey){
        $dateNew[$k][$fkey]=$v[$fkey];
      }
    }
    $data=$dateNew;
  }

  import("@.ORG.Util.ExcelXml");//调用导出excel类
  $xls = new ExcelXml('UTF-8', false, 'Sheet1');
  $xls->addArray($data,$title);
  $xls->generateXML($filename);
}
PHP 相关文章推荐
php 过滤器实现代码
Aug 09 PHP
关于PHP模板Smarty的初级使用方法以及心得分享
Jun 21 PHP
关于php操作mysql执行数据库查询的一些常用操作汇总
Jun 24 PHP
php用正则表达式匹配中文实例详解
Nov 06 PHP
thinkphp的静态缓存用法分析
Nov 29 PHP
Codeigniter购物车类不能添加中文的解决方法
Nov 29 PHP
汇总PHPmailer群发Gmail的常见问题
Feb 24 PHP
Yii2框架制作RESTful风格的API快速入门教程
Nov 08 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
Jul 21 PHP
php实现的后台表格分页功能示例
Oct 23 PHP
阿里云Win2016安装Apache和PHP环境图文教程
Mar 11 PHP
Laravel 实现在Blade模版中使用全局变量代替路径的例子
Oct 22 PHP
php通过baihui网API实现读取word文档并展示
Jun 22 #PHP
PHP读取汉字的点阵数据
Jun 22 #PHP
php读取der格式证书乱码解决方法
Jun 22 #PHP
PHP aes (ecb)解密后乱码问题
Jun 22 #PHP
php实现对象克隆的方法
Jun 20 #PHP
php判断对象是派生自哪个类的方法
Jun 20 #PHP
php类的扩展和继承用法实例
Jun 20 #PHP
You might like
松下Panasonic RF-B65电路分析
2021/03/02 无线电
adodb与adodb_lite之比较
2006/12/31 PHP
PHP5.5新特性之yield理解与用法实例分析
2019/01/11 PHP
JS 的应用开发初探(mootools)
2009/12/19 Javascript
javascript之querySelector和querySelectorAll使用介绍
2011/12/20 Javascript
Html5的placeholder属性(IE兼容)实现代码
2014/08/30 Javascript
5个书写JavaScript代码的坏习惯,看看你中枪了没?
2014/11/06 Javascript
jQuery操作基本控件方法实例分析
2015/12/31 Javascript
最简单纯JavaScript实现Tab标签页切换的方式(推荐)
2016/07/25 Javascript
JS遍历页面所有对象属性及实现方法
2016/08/01 Javascript
javascript的几种写法总结
2016/09/30 Javascript
Angularjs 依赖压缩及自定义过滤器写法
2017/02/04 Javascript
AngularJS动态绑定ng-options的ng-model实例代码
2017/06/21 Javascript
Python实现图像几何变换
2015/07/06 Python
Python实现爬取需要登录的网站完整示例
2017/08/19 Python
读取json格式为DataFrame(可转为.csv)的实例讲解
2018/06/05 Python
Python UnboundLocalError和NameError错误根源案例解析
2018/10/31 Python
解决Python运行文件出现out of memory框的问题
2018/12/03 Python
python实现大转盘抽奖效果
2019/01/22 Python
Python字符串逆序输出的实例讲解
2019/02/16 Python
python抓取搜狗微信公众号文章
2019/04/01 Python
Python字符串匹配之6种方法的使用详解
2019/04/08 Python
Python多线程threading模块用法实例分析
2019/05/22 Python
Python学习笔记之lambda表达式用法详解
2019/08/08 Python
使用Tensorboard工具查看Loss损失率
2020/02/15 Python
html5定制表单_动力节点Java学院整理
2017/07/11 HTML / CSS
基于HTML5陀螺仪实现ofo首页眼睛移动效果的示例
2017/07/31 HTML / CSS
西班牙著名的珠宝首饰品牌:P D PAOLA
2018/09/15 全球购物
中专生求职自荐信范文
2013/12/22 职场文书
社区国庆节活动方案
2014/02/05 职场文书
模具设计与制造专业推荐信
2014/02/16 职场文书
带香烟到学校抽的检讨书
2014/09/25 职场文书
汽车质检员岗位职责
2015/04/08 职场文书
python 远程执行命令的详细代码
2022/02/15 Python
python中Pyqt5使用Qlabel标签播放视频
2022/04/22 Python
详解SQL报错盲注
2022/07/23 SQL Server