PHP使用PHPexcel导入导出数据的方法
本文实例讲述了PHP使用PHPexcel导入导出数据的方法。分享给大家供大家参考,具体如下:
导入数据:
<?php error_reporting(E_ALL);//开启错误 set_time_limit(0);//脚本不超时 date_default_timezone_set('Europe/London');//设置时间 /**Includepath**/ set_include_path(get_include_path().PATH_SEPARATOR.'https://www.nhooo.com/../Classes/');//设置环境变量 /**PHPExcel_IOFactory*/ include'PHPExcel/IOFactory.php'; //$inputFileType='Excel5';//这个是读xls的 $inputFileType='Excel2007';//这个是计xlsx的 //$inputFileName='./sampleData/example2.xls'; $inputFileName='./sampleData/book.xlsx'; echo'Loadingfile',pathinfo($inputFileName,PATHINFO_BASENAME),'usingIOFactorywithadefinedreadertypeof',$inputFileType,'<br/>'; $objReader=PHPExcel_IOFactory::createReader($inputFileType); $objPHPExcel=$objReader->load($inputFileName); /* $sheet=$objPHPExcel->getSheet(0); $highestRow=$sheet->getHighestRow();//取得总行数 $highestColumn=$sheet->getHighestColumn();//取得总列 */ $objWorksheet=$objPHPExcel->getActiveSheet();//取得总行数 $highestRow=$objWorksheet->getHighestRow();//取得总列数 echo'highestRow='.$highestRow; echo"<br>"; $highestColumn=$objWorksheet->getHighestColumn(); $highestColumnIndex=PHPExcel_Cell::columnIndexFromString($highestColumn);//总列数 echo'highestColumnIndex='.$highestColumnIndex; echo"<br/>"; $headtitle=array(); for($row=1;$row<=$highestRow;$row++) { $strs=array(); //注意highestColumnIndex的列数索引从0开始 for($col=0;$col<$highestColumnIndex;$col++) { $strs[$col]=$objWorksheet->getCellByColumnAndRow($col,$row)->getValue(); } $info=array( 'word1'=>"$strs[0]", 'word2'=>"$strs[1]", 'word3'=>"$strs[2]", 'word4'=>"$strs[3]", ); //在这儿,你可以连接,你的数据库,写入数据库了 print_r($info); echo'<br/>'; } ?>
导出数据:
(如果有特殊的字符串=麻烦str_replace(array('='),'',$val['roleName']);)
privatefunction_export_data($data=array()) { error_reporting(E_ALL);//开启错误 set_time_limit(0);//脚本不超时 date_default_timezone_set('Europe/London');//设置时间 /**Includepath**/ set_include_path(FCPATH.APPPATH.'/libraries/Classes/');//设置环境变量 //CreatenewPHPExcelobject Include'PHPExcel.php'; $objPHPExcel=newPHPExcel(); //Setdocumentproperties $objPHPExcel->getProperties()->setCreator("MaartenBalliauw") ->setLastModifiedBy("MaartenBalliauw") ->setTitle("Office2007XLSXTestDocument") ->setSubject("Office2007XLSXTestDocument") ->setDescription("TestdocumentforOffice2007XLSX,generatedusingPHPclasses.") ->setKeywords("office2007openxmlphp") ->setCategory("Testresultfile"); //Addsomedata $letter=array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'); if($data){ $i=1; foreach($dataas$key=>$value){ $newobj=$objPHPExcel->setActiveSheetIndex(0); $j=0; foreach($valueas$k=>$val){ $index=$letter[$j]."$i"; $objPHPExcel->setActiveSheetIndex(0)->setCellValue($index,$val); $j++; } $i++; } } $date=date('Y-m-d',time()); //Renameworksheet $objPHPExcel->getActiveSheet()->setTitle($date); $objPHPExcel->setActiveSheetIndex(0); //Redirectoutputtoaclient'swebbrowser(Excel2007) header('Content-Type:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition:attachment;filename="'.$date.'.xlsx"'); header('Cache-Control:max-age=0'); $objWriter=PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007'); $objWriter->save('php://output'); exit; }
直接上代码:
publicfunctionexport_data($data=array()) { #code... include_once(APP_PATH.'Tools/PHPExcel/Classes/PHPExcel/Writer/IWriter.php'); include_once(APP_PATH.'Tools/PHPExcel/Classes/PHPExcel/Writer/Excel5.php'); include_once(APP_PATH.'Tools/PHPExcel/Classes/PHPExcel.php'); include_once(APP_PATH.'Tools/PHPExcel/Classes/PHPExcel/IOFactory.php'); $obj_phpexcel=newPHPExcel(); $obj_phpexcel->getActiveSheet()->setCellValue('a1','Key'); $obj_phpexcel->getActiveSheet()->setCellValue('b1','Value'); if($data){ $i=2; foreach($dataas$key=>$value){ #code... $obj_phpexcel->getActiveSheet()->setCellValue('a'.$i,$value); $i++; } } $obj_Writer=PHPExcel_IOFactory::createWriter($obj_phpexcel,'Excel5'); $filename="outexcel.xls"; header("Content-Type:application/force-download"); header("Content-Type:application/octet-stream"); header("Content-Type:application/download"); header('Content-Disposition:inline;filename="'.$filename.'"'); header("Content-Transfer-Encoding:binary"); header("Last-Modified:".gmdate("D,dMYH:i:s")."GMT"); header("Cache-Control:must-revalidate,post-check=0,pre-check=0"); header("Pragma:no-cache"); $obj_Writer->save('php://output'); }
希望本文所述对大家php程序设计有所帮助。