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

 更新时间:2015年06月22日 15:48:57   投稿:hebedich  
这篇文章主要介绍了用PHP生成excel文件到指定目录的相关资料,需要的朋友可以参考下

最近公司要生成报表,用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验证码函数代码(简单实用)

    这篇文章主要分享了php中简单的验证码函数实现代码,代码比较短,但效果却不错,喜欢的朋友可以试试
    2013-09-09
  • PHP多维数组元素操作类的方法

    PHP多维数组元素操作类的方法

    下面小编就为大家带来一一篇PHP多维数组元素操作类的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • laravel 中如何使用ajax和vue总结

    laravel 中如何使用ajax和vue总结

    本篇文章主要介绍了laravel 中使用ajax和vue总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • laravel 4安装及入门图文教程

    laravel 4安装及入门图文教程

    最详细的laravel 4安装及入门图文教程 laravel安装入门,最近,很多朋友因此想学习实用laravel,但是了,自己又不会安装,网上的教程都是零零散散的,无从下手。今天就为大家整理出来,希望对大家有所帮助
    2014-10-10
  • PHP 布尔值的自增与自减的实现方法

    PHP 布尔值的自增与自减的实现方法

    这篇文章主要介绍了PHP 布尔值的自增与自减的实现方法,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2018-05-05
  • php file_get_contents抓取Gzip网页乱码的三种解决方法

    php file_get_contents抓取Gzip网页乱码的三种解决方法

    用 file_get_contents() 函数抓取网页会发生乱码现象。有两个原因会导致乱码,一个是编码问题,一个是目标页面开了Gzip,下面说的就是开了Gzip功能如何才能不乱码的方法
    2013-11-11
  • 复现WordPress xmlrpc.php漏洞和SSRF的详细步骤

    复现WordPress xmlrpc.php漏洞和SSRF的详细步骤

    这篇文章主要介绍了复现WordPress xmlrpc.php漏洞和SSRF的相关资料,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • ThinkPHP关于session的操作方法汇总

    ThinkPHP关于session的操作方法汇总

    这篇文章主要介绍了ThinkPHP关于session的操作方法,有助于读者加深对ThinkPHP操作session的认识,需要的朋友可以参考下
    2014-07-07
  • 基于PHP异步执行的常用方式详解

    基于PHP异步执行的常用方式详解

    本篇文章是对PHP异步执行的常用方式进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP中几个可以提高运行效率的代码写法、技巧分享

    PHP中几个可以提高运行效率的代码写法、技巧分享

    这篇文章主要介绍了PHP中几个可以提高运行效率的代码写法、技巧分享,本文分享的5个方法都是在细微之处有所不同,一定要认真仔细的去看代码哦,需要的朋友可以参考下
    2014-08-08

最新评论