Excel 업로드후 읽기 질문입니다. 채택완료
xls 파일은 잘 읽어지는데 xlsx 파일은 전혀 못읽네요.. 원인좀 알수있을까요??
include "../PHPExcel-1.8/Classes/PHPExcel.php"; $objPHPExcel = new PHPExcel();// 엑셀 데이터를 담을 배열을 선언한다. include "../PHPExcel-1.8/Classes/PHPExcel/IOFactory.php";
$uploaddir = './'; // 업로드 할 위치 $uploadfile = basename($_FILES['userfile']['name']); echo '
'; echo 'output:'.basename($_FILES['userfile']['tmp_name']);";if(move_uploaded_file($_FILES['userfile']['tmp_name'], "$uploaddir/$uploadfile")) { echo ' good file '; }else{ print ' avoid attack! '; }
echo 'detail debug :'; print_r($_FILES); print "
// $filename = './testA.xlsx'; // 읽어들일 엑셀 파일의 경로와 파일명을 지정한다. $filename = $_FILES['userfile']['name']; // 읽어들일 엑셀 파일의 경로와 파일명을 지정한다.
$info=pathinfo($_FILES['userfile']['name']); $exten=$info['extension'];
try { // 업로드 된 엑셀 형식에 맞는 Reader객체를 만든다.
// 읽기전용으로 설정 // $objReader->setReadDataOnly(true); if($exten=='xlsx'){ $objReader = PHPExcel_IOFactory::createReader('Excel2007'); }else{ $objReader = PHPExcel_IOFactory::createReaderForFile($filename); } // 엑셀파일을 읽는다 $objExcel = $objReader->load($filename); // 첫번째 시트를 선택 $objExcel->setActiveSheetIndex(0); $objWorksheet = $objExcel->getActiveSheet(); $rowIterator = $objWorksheet->getRowIterator();
foreach ($rowIterator as $row) { // 모든 행에 대해서 $cellIterator = $row->getCellIterator(); $cellIterator->setIterateOnlyExistingCells(false); }
$maxRow = $objWorksheet->getHighestRow();
for ($i = 0 ; $i <= $maxRow ; $i++) { $name = $objWorksheet->getCell('A' . $i)->getValue(); // A열 $addr1 = $objWorksheet->getCell('B' . $i)->getValue(); // B열 $reg_date = PHPExcel_Style_NumberFormat::toFormattedString($reg_date, 'YYYY-MM-DD'); // 날짜 형태의 셀을 읽을때는 toFormattedString를 사용한다.
echo $name; echo ' '; } } catch (exception $e) { echo $e; }
?>
답변 1개
답변을 작성하려면 로그인이 필요합니다.
로그인