当前位置:首页 > 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.  
  27. $cwr=chr(65+$key).'1';//这里用来输出ABCDEFG... 
  28.  
  29. $objPHPExcel->getActiveSheet()->SetCellValue($cwr, $value); 
  30.  
  31. } 
  32.  
  33. foreach ($list['data'] as $key => $value) { 
  34.  
  35. $arr[$key][]=$value['date']; 
  36.  
  37. $arr[$key][]=$value['type']; 
  38.  
  39. $arr[$key][]=$value['affect_money']; 
  40.  
  41. $arr[$key][]=$value['collect_money']; 
  42.  
  43. $arr[$key][]=$value['desc']; 
  44.  
  45. $arr[$key][]=$value['account_money']; 
  46.  
  47. } 
  48.  
  49. $total = count($arr); 
  50.  
  51. $cr = count($arr['0']);//获取每个数组有几个元素用来控制列 
  52.  
  53. for($i=0;$i<=$cr;$i++) 
  54.  
  55. { 
  56.  
  57. $cwr2=chr(64+$i+1); 
  58.  
  59. for($j=2;$j<=$total+2;$j++)//因为第一行已经写成表的字段了。所以从第二行开始。 
  60.  
  61. { 
  62.  
  63. $cwr=$cwr2.$j;//abcdefg 
  64.  
  65. $objPHPExcel->getActiveSheet()->SetCellValue($cwr,$arr[$j-2][$i]); 
  66.  
  67. } 
  68.  
  69. } 
  70.  
  71. $objWriter = new \PHPExcel_Writer_Excel5($objPHPExcel); 
  72.  
  73. $objWriter->save(str_replace('.php', '.xls', __FILE__)); 
  74.  
  75. $filename='交易记录.xls'; 
  76.  
  77. header("Pragma: public"); 
  78.  
  79. header("Expires: 0"); 
  80.  
  81. header("Cache-Control:must-revalidate,post-check=0,pre-check=0"); 
  82.  
  83. header("Content-Type:application/force-download"); 
  84.  
  85. header("Content-Type:application/vnd.ms-execl"); 
  86.  
  87. header("Content-Type:application/octet-stream"); 
  88.  
  89. header("Content-Type:application/download"); 
  90.  
  91. header("Content-Disposition:attachment;filename=".$filename); 
  92. //phpfensi.com 
  93. header("Content-Transfer-Encoding:binary"); 
  94.  
  95. $objWriter->save("php://output"); 
  96.  
  97.  }

Tags: THINKPHP3 2 3 导入excel

分享到: