Excel 업로드후 읽기 질문입니다.

Excel 업로드후 읽기 질문입니다.

QA

Excel 업로드후 읽기 질문입니다.

본문

xls 파일은 잘 읽어지는데 xlsx 파일은 전혀 못읽네요.. 원인좀 알수있을까요??

 

<?php

 

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 '<pre>';
echo 'output:'.basename($_FILES['userfile']['tmp_name']);

if(move_uploaded_file($_FILES['userfile']['tmp_name'], "$uploaddir/$uploadfile")) {
  echo '<br>good file<br>';
}else{
  print '<br>avoid attack!<br>';
}

echo 'detail debug :';
print_r($_FILES);
print "</pre>";

// $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 '<br/>';
    }
}
catch (exception $e) {
    echo $e;
}

?>
 

이 질문에 댓글 쓰기 :

답변 1

답변을 작성하시기 전에 로그인 해주세요.
전체 38
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT