thinkphp利用phpexcel导入到Excel表格中

一、下载phpexcel插件,并将插件放入项目中

1)
到官方网站http://phpexcel.codeplex.com/下载最近版本的PHPExcel,解压后会发现里面有class、Documentation、Tests三个文件夹和三个txt的日志文件,主要用到的是Class文件夹里面的东西;

2)将Class文件夹复制到项目下\ThinkPHP\Library\Vendor目录下,并将文件夹重命名为PHPExcel;

3)在创建和调用PHPExcel相关的类和方法时,可能会遇到各种问题,例如:
  • Class 'Home\Controller\PHPExcel' not found

  • Class 'Home\Controller\PHPExcel_IOFactory' not found

  • require(): Failed opening required 'D:\xampp\htdocs\qingqing\ThinkPHP\Library\Vendor/PHPExcel/Autoloader.php' (include_path='D:\xampp\php\PEAR')

4)所以在创建和调用PHPExcel相关的类和方法时,应该先导入PHPExcel类,并且一定不要忘记目录前的反斜杠“\”

        import('vendor.PHPExcel.PHPExcel');
        $phpexcel = new \PHPExcel();  
        $objWriter = \PHPExcel_IOFactory::createWriter($phpexcel, 'Excel2007');


二、phpexcel导出数据
步骤:

1)新键一个excel表格
2)创建sheet内置表
3)填充数据 
4)保存文件

<span style="font-size:14px;">public function xls($data){
		import('vendor.PHPExcel.PHPExcel');
		$phpexcel = new \PHPExcel();  
		$objWriter = \PHPExcel_IOFactory::createWriter($phpexcel, 'Excel2007');
		$objSheet = $phpexcel->getActiveSheet();
		$objSheet->setCellValue('A1','编号')
			->setCellValue('B1','姓名')
			->setCellValue('C1','英语名')
			->setCellValue('D1','性别')
			->setCellValue('E1','出生日期')
			->setCellValue('F1','民族')
			->setCellValue('G1','籍贯')
			->setCellValue('H1','政治面貌')
			->setCellValue('I1','职业')
			->setCellValue('J1','最高学历学校')
			->setCellValue('K1','最高学历专业')
			->setCellValue('L1','地址')
			->setCellValue('M1','手机号')
			->setCellValue('N1','手机号2')
			->setCellValue('O1','QQ号')
			->setCellValue('P1','微信号')
			->setCellValue('Q1','邮箱')
			->setCellValue('R1','兴趣特长');
		
		foreach($data as $k=>$v){
		$num = $k+2;
		$objSheet
			->setCellValue('A'.$num,$v['uid'])
			->setCellValue('B'.$num,$v['name'])
			->setCellValue('C'.$num,$v['ename'])
			->setCellValue('D'.$num,$v['sex'])
			->setCellValue('E'.$num,$v['born'])
			->setCellValue('F'.$num,$v['nation'])
			->setCellValue('G'.$num,$v['native'])
			->setCellValue('H'.$num,$v['political'])
			->setCellValue('I'.$num,$v['job'])
			->setCellValue('J'.$num,$v['school'])
			->setCellValue('K'.$num,$v['major'])
			->setCellValue('L'.$num,$v['address'])
			->setCellValue('M'.$num,$v['phone'])
			->setCellValue('N'.$num,$v['phone2'])
			->setCellValue('O'.$num,$v['qq'])
			->setCellValue('P'.$num,$v['wechat'])
			->setCellValue('Q'.$num,$v['email'])
			->setCellValue('R'.$num,$v['hobby']);
		}
		$outfile = "workerList.xls";
		$objSheet->setTitle('个人信息表');
		$phpexcel->setActiveSheetIndex(0);

		<span style="color:#FF0000;">ob_end_clean();     //清除缓冲区,避免乱码</span>
		header("Content-Type: application/force-download");
		header("Content-Type: application/octet-stream");
		header("Content-Type: application/download");
		header('Content-Disposition:inline;filename="'.$outfile.'"');
		header("Content-Transfer-Encoding: binary");
		header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
		header("Pragma: no-cache");
		$objWriter->save('php://output');
		exit;
	}
}</span>
上面的函数传入的参数是一个带键值对的二维数组,打开下载下来的excel表格看到:



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值