当前位置:首页 > CMS教程 > Thinkphp > 列表

THINKPHP3.2.3使用PHPEXCEL 导入excel文件

发布:smiling 来源: PHP粉丝网  添加日期:2015-09-30 14:43:59 浏览: 评论:0 

废话少说上代码,可能写的有点复杂,你可能需要下载一下phpexcel,让后整个放到vendor 下去引用一下.

  1. public function deal_record() 
  2.  
  3.  { 
  4.  
  5.  import("Vendor.PhpExcel.PHPExcel"); 
  6.  
  7.  $objPHPExcel = new \PhpExcel(); 
  8.  
  9.  $list=session('deallist'); 
  10.  
  11. $list=array_splice($list,2); 
  12.  
  13. //echo P;var_dump($list);die; 
  14.  
  15. $row=array(); 
  16.  
  17. $row[0]=array('交易时间','交易类型','影响金额','代收金额','说明','可用金额'); 
  18.  
  19. $objPHPExcel->setActiveSheetIndex(0); 
  20.  
  21. //头部 
  22.  
  23. foreach ($row[0] as $key => $value)  
  24.  
  25.  
  26. $cwr=chr(65+$key).'1';//这里用来输出ABCDEFG... 
  27.  
  28. $objPHPExcel->getActiveSheet()->SetCellValue($cwr$value); 
  29.  
  30.  
  31. foreach ($list['data'as $key => $value) { 
  32.  
  33. $arr[$key][]=$value['date']; 
  34.  
  35. $arr[$key][]=$value['type']; 
  36.  
  37. $arr[$key][]=$value['affect_money']; 
  38.  
  39. $arr[$key][]=$value['collect_money']; 
  40.  
  41. $arr[$key][]=$value['desc']; 
  42.  
  43. $arr[$key][]=$value['account_money']; 
  44.  
  45.  
  46. $total = count($arr); 
  47.  
  48. $cr = count($arr['0']);//获取每个数组有几个元素用来控制列 
  49.  
  50. for($i=0;$i<=$cr;$i++) 
  51.  
  52.  
  53. $cwr2=chr(64+$i+1); 
  54.  
  55. for($j=2;$j<=$total+2;$j++)//因为第一行已经写成表的字段了。所以从第二行开始。 
  56.  
  57.  
  58. $cwr=$cwr2.$j;//abcdefg 
  59.  
  60. $objPHPExcel->getActiveSheet()->SetCellValue($cwr,$arr[$j-2][$i]); 
  61.  
  62.  
  63.  
  64. $objWriter = new \PHPExcel_Writer_Excel5($objPHPExcel); 
  65.  
  66. $objWriter->save(str_replace('.php''.xls'__FILE__)); 
  67.  
  68. $filename='交易记录.xls'
  69.  
  70. header("Pragma: public"); 
  71.  
  72. header("Expires: 0"); 
  73.  
  74. header("Cache-Control:must-revalidate,post-check=0,pre-check=0"); 
  75.  
  76. header("Content-Type:application/force-download"); 
  77.  
  78. header("Content-Type:application/vnd.ms-execl"); 
  79.  
  80. header("Content-Type:application/octet-stream"); 
  81.  
  82. header("Content-Type:application/download"); 
  83.  
  84. header("Content-Disposition:attachment;filename=".$filename); 
  85. //phpfensi.com 
  86. header("Content-Transfer-Encoding:binary"); 
  87.  
  88. $objWriter->save("php://output"); 
  89.  
  90.  }

Tags: THINKPHP3 2 3 导入excel

分享到: