테스트 사이트 - 개발 중인 베타 버전입니다

Excel 업로드후 읽기 질문입니다. 채택완료

펭귄이다다 3년 전 조회 2,283

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개

채택된 답변
+20 포인트
3년 전

그누보드 최신버젼에 들어있는 PHPExcel을 사용하세요

xls / xlsx 화일 종류를 구분할 필요가 없습니다

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인