www.adminn.cn
站长正能量分享网!

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

AD:阿里云服务器企业会员更优惠 腾讯云香港,韩国免备案服务器1.8折优惠

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

header("Content-type:application/vnd.ms-excel");

header("Content-Disposition:attachment;filename=test_data.xls");

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

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

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

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

下面我们附上例子:

  1. /** 
  2.  +———————————————————- 
  3.  * 导入所需的类库 同java的Import 
  4.  * 本函数有缓存功能 
  5.  +———————————————————- 
  6.  * @param string $class 类库命名空间字符串 
  7.  * @param string $baseUrl 起始路径 
  8.  * @param string $ext 导入的文件扩展名 
  9.  +———————————————————- 
  10.  * @return boolen 
  11.  +———————————————————- 
  12.  */ 
  13. function import($class$baseUrl = ''$ext='.class.php') { 
  14.   static $_file = array(); 
  15.   $class = str_replace(array('.''#'), array('/''.'), $class); 
  16.   if ('' === $baseUrl && false === strpos($class'/')) { 
  17.     // 检查别名导入 
  18.     return alias_import($class); 
  19.   } 
  20.   if (isset($_file[$class . $baseUrl])) 
  21.     return true; 
  22.   else 
  23.     $_file[$class . $baseUrl] = true; 
  24.   $class_strut = explode('/'$class); 
  25.   if (emptyempty($baseUrl)) { 
  26.     if ('@' == $class_strut[0] || APP_NAME == $class_strut[0]) { 
  27.       //加载当前项目应用类库 
  28.       $baseUrl = dirname(LIB_PATH); 
  29.       $class = substr_replace($classbasename(LIB_PATH).'/', 0, strlen($class_strut[0]) + 1); 
  30.     }elseif ('think' == strtolower($class_strut[0])){ // think 官方基类库 
  31.       $baseUrl = CORE_PATH; 
  32.       $class = substr($class,6); 
  33.     }elseif (in_array(strtolower($class_strut[0]), array('org''com'))) { 
  34.       // org 第三方公共类库 com 企业公共类库 
  35.       $baseUrl = LIBRARY_PATH; 
  36.     }else { // 加载其他项目应用类库 
  37.       $class = substr_replace($class'', 0, strlen($class_strut[0]) + 1); 
  38.       $baseUrl = APP_PATH . '../' . $class_strut[0] . '/'.basename(LIB_PATH).'/'
  39.     } 
  40.   } 
  41.   if (substr($baseUrl, -1) != '/'
  42.     $baseUrl .= '/'
  43.   $classfile = $baseUrl . $class . $ext
  44.   if (!class_exists(basename($class),false)) { 
  45.     // 如果类不存在 则导入类库文件 
  46.     return require_cache($classfile); 
  47.   } 
  48.  
  49. /** 
  50. * 导出EXCEL表格 
  51. * @param array $data 数据,二维数组,每条数据一条记录 
  52. * @param array $title 每列数据的字段名,一唯数组,必须和数据顺序一致(可省略) 
  53. * @param string $filename excel名称 
  54. * @param array $field 需要指定导出的数据字段,排序必须和title一致,就是和查出数据的数组key值 
  55. */ 
  56. function exportExcel($data='',$title='',$filename='excel',$field=array()){ 
  57.   if(!$data || !is_array($data)) return false; 
  58.   if($filename==''$filename='excel'
  59.   if($field && is_array($field)){//只要导出指定字段,且按这个顺序导出 
  60.     $dateNew=array(); 
  61.     foreach ($data as $k=>$v){ 
  62.       foreach ($field as $fkey){ 
  63.         $dateNew[$k][$fkey]=$v[$fkey]; 
  64.       } 
  65.     } 
  66.     $data=$dateNew
  67.   } 
  68.  
  69.   import("@.ORG.Util.ExcelXml");//调用导出excel类 
  70.   $xls = new ExcelXml('UTF-8', false, 'Sheet1'); 
  71.   $xls->addArray($data,$title); 
  72.   $xls->generateXML($filename); 
  73. }

模板优惠价: (点击购买)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《用PHP生成excel文件到指定目录》
文章链接:https://www.adminn.cn/news/32847.html
本站资源模板仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。2021.5月起,网站调整,暂不再分享免费模板。谢谢理解

Adminn.Cn 站长分享圈

帝国CMS精品模板腾讯云优惠券,代金券

2次开发,学习研究使用!扫码支付后联系QQ677123发货!

支付宝扫一扫打赏