網站設計:PHPExcel導入excel文件

2020-02-18   瀏覽量:

緊接著上面的文件,講一下PHPExcel的excel文件導入

方法一:一次性把所有的sheet加載遍歷,把每個sheet里的數據放到數組里,此方法浪費內存,如果數據量比較大,不適合用
網站設計:PHPExcel導入excel文件


  1. header("Content-Type:text/html;charset=utf-8");
  2. include "./PHPExcel-1.8/Classes/PHPExcel/IOFactory.php";
  3.  
  4. $filename="test.xlsx";
  5. $objPHPExcel=PHPExcel_IOFactory::load($filename);//加載文件
  6. $sheetCount=$objPHPExcel->getSheetCount();//獲取excel文件里有多少個sheet
  7. for($i=0;$i<$sheetCount;$i++){
  8. $data=$objPHPExcel->getSheet($i)->toArray();//讀取每個sheet里的數據 全部放入到數組中
  9. print_r($data);
  10. }

方法二:選擇要加載的sheet,逐行逐列讀取,節約內存


  1. header("Content-Type:text/html;charset=utf-8");
  2. include "./PHPExcel-1.8/Classes/PHPExcel/IOFactory.php";
  3.  
  4. $filename="test.xlsx";
  5. $fileType=PHPExcel_IOFactory::identify($filename);//自動獲取文件的類型提供給phpexcel用
  6. $objReader=PHPExcel_IOFactory::createReader($fileType);//獲取文件讀取操作對象
  7.  
  8. $sheetName=array("test");//指定sheet名稱
  9. $objReader->setLoadSheetsOnly($sheetName);//只加載指定的sheet
  10. $objPHPExcel=$objReader->load($filename);//加載文件
  11.  
  12. foreach($objPHPExcel->getWorksheetIterator() as $sheet) {//循環取sheet
  13. foreach($sheet->getRowIterator() as $row){//逐行處理
  14. if($row->getRowIndex()<2){//從第二行開始處理
  15. continue;
  16. }
  17. foreach($row->getCellIterator() as $cell){//逐列讀取
  18. $data=$cell->getValue();//獲取單元格數據
  19. echo $data." ";
  20. }
  21. echo '<br/>';
  22. }
  23. echo '<br/>';
  24. }

導入的時候沒有這么多要求,所以相對比較簡單,上面的代碼一般情況下一般已經夠用了,推薦使用第二中方法

上一篇:最受歡迎的Python開源框架              下一篇:最后一頁

有什么赌大小的软件