phpexcel 오류입니다ㅠㅠ
본문
phpexcel 이용해서 엑셀파일 업로드 후 화면에 출력할 수 있도록 하려고 하는데요. 계속 오류납니다ㅠㅠ
PHPExcel_Reader_Exception: Could not open for reading! File does not exist. in /.../www/adm/excel_upload/PHPExcel-1.8/Classes/PHPExcel/Reader/Excel2007.php:73 Stack trace: #0 /.../www/adm/excel_upload/PHPExcel-1.8/Classes/PHPExcel/IOFactory.php(281): PHPExcel_Reader_Excel2007->canRead('') #1 /.../www/adm/excel_upload/PHPExcel-1.8/Classes/PHPExcel/IOFactory.php(191): PHPExcel_IOFactory::createReaderForFile('') #2 /.../www/adm/excel_upload/excel_upload.php(14): PHPExcel_IOFactory::load('') #3 {main}
Array ( )
...은 서버이름이라 보안상 저렇게 표시한 것입니다.
<?php
include "./PHPExcel-1.8/Classes/PHPExcel.php";
$objPHPExcel = new PHPExcel();
// 엑셀 데이터를 담을 배열을 선언한다.
$allData = array();
// 파일의 저장형식이 utf-8일 경우 한글파일 이름은 깨지므로 euc-kr로 변환해준다.
$filename = iconv("UTF-8", "EUC-KR", $_FILES['excelFile']['name']);
try {
// 업로드한 PHP 파일을 읽어온다.
$objPHPExcel = PHPExcel_IOFactory::load($filename);
$sheetsCount = $objPHPExcel -> getSheetCount();
// 시트Sheet별로 읽기
for($i = 0; $i < $sheetsCount; $i++) {
$objPHPExcel -> setActiveSheetIndex($i);
$sheet = $objPHPExcel -> getActiveSheet();
$highestRow = $sheet -> getHighestRow(); // 마지막 행
$highestColumn = $sheet -> getHighestColumn(); // 마지막 컬럼
// 한줄읽기
for($row = 1; $row <= $highestRow; $row++) {
// $rowData가 한줄의 데이터를 셀별로 배열처리 된다.
$rowData = $sheet -> rangeToArray("A" . $row . ":" . $highestColumn . $row, NULL, TRUE, FALSE);
// $rowData에 들어가는 값은 계속 초기화 되기때문에 값을 담을 새로운 배열을 선안하고 담는다.
$allData[$row] = $rowData[0];
}
}
} catch(exception $e) {
echo $e;
}
echo "<pre>";
print_r($allData);
echo "</pre>";
?>
제가 완전 초보라서 이 코드 부분도 구글링 한 것입니다ㅠㅠ 도와주세요
!-->답변 2
에러 자체는 파일을 읽을 수 없다는 에러입니다.
파일 경로나 업로드가 제대로되고 있는지 확인해보세요
PHPExcel-1.8 이라는 폴더가 adm/excel_upload 폴더 하위에 있는게 맞나요?
답변을 작성하시기 전에 로그인 해주세요.