| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 | <?php/** * FecShop file. * * @link http://www.fecshop.com/ * @copyright Copyright (c) 2016 FecShop Software LLC * @license http://www.fecshop.com/license/ */namespace fec\helpers;use Yii; /** * @author Terry Zhao <2358269014@qq.com> * @since 1.0 */class CExcel {	# 1.加载phpExcel组件文件	public static function prepare(){		require_once(__DIR__."/../lib/PHPExcel/PHPExcel.php");		require_once(__DIR__."/../lib/PHPExcel/PHPExcel/IOFactory.php");		require_once(__DIR__."/../lib/PHPExcel/PHPExcel/Reader/Excel2007.php");			}		# 2.得到excel文件的内容	public static function getExcelContent($xlsDir){		self::prepare();		//echo $xlsDir;exit;		$objPHPExcel = \PHPExcel_IOFactory::load($xlsDir);		$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);		return $sheetData;			}			# 3.array中的数据,以excel的方式下载下来。	# $data 是数据数组	# $fileName 是文件名字	/*		参数说明		$data = [				[11,22,33,44],				[131,22,33,44],			];		使用方式:\fec\helpers\CExcel::downloadExcelFileByArray($data);		调用这个方法后,会下载excel文件。	*/					public static function downloadExcelFileByArray($data,$fileName=''){		self::prepare();		if(!$fileName){			$fileName = 'xls-download-'.date('Y-m-d-H-i-s').'.xls';		}		$objPHPExcel = new \PHPExcel();		$objPHPExcel->getActiveSheet()->fromArray($data);		$objPHPExcel->getActiveSheet()->freezePane('A2');		// Redirect output to a client’s web browser (Excel5)		header('Content-Type: application/vnd.ms-excel');		header('Content-Disposition: attachment;filename="'.$fileName.'"');		header('Cache-Control: max-age=0');		// If you're serving to IE 9, then the following may be needed		header('Cache-Control: max-age=1');		// If you're serving to IE over SSL, then the following may be needed		header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past		header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified		header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1		header ('Pragma: public'); // HTTP/1.0		$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');		$objWriter->save('php://output');		exit;			}		}
 |