csv파일 읽기 질문있습니다.

csv파일 읽기 질문있습니다.

QA

csv파일 읽기 질문있습니다.

본문

<?php

include_once('./_common.php');

include_once('../plugin/PHPExcel-1.8/Classes/PHPExcel.php');

$objPHPExcel = new PHPExcel();

// 엑셀 데이터를 담을 배열을 선언한다.
$excelData = array();

// 파일의 저장형식이 utf-8일 경우 한글파일 이름은 깨지므로 euc-kr로 변환해준다.
$filename = iconv("UTF-8", "EUC-KR", $_FILES['file']['tmp_name']);
// var_dump($_FILES['file']['tmp_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에 들어가는 값은 계속 초기화 되기때문에 값을 담을 새로운 배열을 선안하고 담는다.
      $excelData[$row] = $rowData[0];
     }
   }

} catch(exception $e) {
   // echo $e;
}


for($i=1; $i<count($excelData)+1; $i++){
  for($j=1;$j<=3;$j++){
  echo $i." = ". $excelData[$i][$j]."</br>";
}
}
// print_r($excelData);
 

 

이렇게 값을 불러왔는데 

가져온값이 xls이면 한글값이 제대로 인식을 하는데 

csv파일을 읽을때는 한글이 공백으로 바뀌네요.. 어떻게해야될까요?

이 질문에 댓글 쓰기 :

답변 2

text화일 읽기 하는데 저런게 왜 필요할까요?

에디터로 열어서 utf-8로 저장한 다음 간단하게 다음 처럼 하세요

 

$data = file('test.csv');
for($i=0; $i<count($data); $i++){  if( !$data[$i[] )  continue;
  $ss =explode(',', $data[$i]);
  print_r($ss);
}

============화일을 변환하지않고 하는 법

$data = file('test.csv');
for($i=0; $i<count($data); $i++){
  $tmp = iconv('euc-kr','utf-8', $data[$i]); 
  $ss =explode(',', $tmp);
  print_r($ss);
}

 

https://stackoverflow.com/questions/3895819/csv-export-import-with-phpexcel

참고하세요.

$inputFileType = 'CSV';
$inputFileName = 'testFile.csv';
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load($inputFileName);
답변을 작성하시기 전에 로그인 해주세요.
전체 50,353
QA 내용 검색

회원로그인

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