用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 相关文章推荐
提取HTML标签
Oct 09 PHP
PHP开发文件系统实例讲解
Oct 09 PHP
PHP JSON 数据解析代码
May 26 PHP
PHP变量内存分配问题记录整理
Nov 27 PHP
YII中assets的使用示例
Jul 31 PHP
php项目中百度 UEditor 简单安装调试和调用
Jul 15 PHP
Swoole-1.7.22 版本已发布,修复PHP7相关问题
Dec 31 PHP
如何使用微信公众平台开发模式实现多客服
Jan 06 PHP
php查询操作实现投票功能
May 09 PHP
Thinkphp 在api开发中异常返回依然是html的解决方式
Oct 16 PHP
php设计模式之享元模式分析【星际争霸游戏案例】
Mar 23 PHP
PHP开发api接口安全验证操作实例详解
Mar 26 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
php.ini save_handler 修改不生效的解决办法
2014/07/22 PHP
谈谈php对接芝麻信用踩的坑
2016/12/01 PHP
yii2-GridView在开发中常用的功能及技巧总结
2017/01/07 PHP
PHP7生产环境队列Beanstalkd用法详解
2020/05/19 PHP
Javascript String.replace的妙用
2009/09/08 Javascript
Javascript中定义方法的另类写法(批量定义js对象的方法)
2011/02/25 Javascript
基于jQuery实现的当离开页面时出现提示的实现代码
2011/06/27 Javascript
jquery如何改变html标签的样式(两种实现方法)
2013/01/16 Javascript
jquery中的ajax方法怎样通过JSONP进行远程调用
2014/05/04 Javascript
jQuery使用contains过滤器实现精确匹配方法详解
2016/02/25 Javascript
javascript验证内容为数字以及长度为10的简单实例
2016/08/20 Javascript
Vue.js实现价格计算器功能
2020/03/30 Javascript
two.js之实现动画效果示例
2017/11/06 Javascript
JS删除对象中某一属性案例详解
2020/09/08 Javascript
python重试装饰器示例
2014/02/11 Python
Python导出DBF文件到Excel的方法
2015/07/25 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
2018/01/29 Python
简单了解python关键字global nonlocal区别
2020/09/21 Python
matplotlib 画动态图以及plt.ion()和plt.ioff()的使用详解
2021/01/05 Python
Django项目在pycharm新建的步骤方法
2021/03/02 Python
纯css3显示隐藏一个div特效的具体实现
2014/02/10 HTML / CSS
捷克浴室和厨房设备购物网站:SIKO
2018/08/11 全球购物
跟单文员的岗位职责
2013/11/14 职场文书
校园广播稿500字
2014/02/04 职场文书
粗加工管理制度
2014/02/04 职场文书
商场中秋节活动方案
2014/02/07 职场文书
人力资源管理专业自荐书范文
2014/02/10 职场文书
《草原的早晨》教学反思
2014/04/08 职场文书
车辆转让协议书
2014/04/15 职场文书
群众路线个人整改方案
2014/10/25 职场文书
2014年班组工作总结
2014/11/20 职场文书
2016年乡镇七一建党节活动总结
2016/04/05 职场文书
2019森林防火宣传标语大全!
2019/07/03 职场文书
22句经典语录:送给优柔寡断和胡思乱想的朋友们
2019/12/13 职场文书
详解Html5项目适配系统深色模式方案总结
2021/04/14 HTML / CSS
SQL解决未能删除约束问题drop constraint
2022/05/30 SQL Server