제목 | PHPExcel 라이브러리 사용방법.. | ||
---|---|---|---|
카테고리 | CI 2, 3 | ||
글쓴이 | 니로 | 작성시각 | 2016/11/29 09:24:45 |
|
|||
http://codeigniter-kr.org/bbs/view/tip?idx=8319&page=2&view_category=&lists_style= 위 게시물을 보고.. 따라 해봤는데요
파일이 읽어지지 않는거 같아요 물론 제가 뭘 잘못적어서 그렇겟지만.. 어떤게 잘못된건지 감이 안오네요.
파일을 올리고 submit 후에 $_FILES를 찍어보면
Array ( [userfile] => Array ( [name] => Array ( [0] => execlupload.xls ) [type] => Array ( [0] => application/vnd.ms-excel ) [tmp_name] => Array ( [0] => C:\xampp\tmp\php89FD.tmp ) [error] => Array ( [0] => 0 ) [size] => Array ( [0] => 16896 ) ) )
이렇게 나오고 있어요
제가 본 게시물 참고해서.. 아래와같이 파일을 저장안하고 읽기만 할거면 $file_name = $_FILES["userfile"]["tmp_name"]; $objPHPExcel = new PHPExcel(); $objPHPExcel = PHPExcel_IOFactory::load($file_name); 이렇게 적으래서 바꿧는데 도무지 읽어지지가 않는데.. 도움좀 부탁드립니다.. submit시에 아래 코드를 실행합니다.
$this->load->library("PHPExcel"); $file_name = $_FILES["userfile"]["tmp_name"]; $objPHPExcel = new PHPExcel(); $objPHPExcel = PHPExcel_IOFactory::load($file_name); $sheetsCount = $objPHPExcel->getSheetCount(); echo $sheetsCount; //쉬트의 갯수출력 /* 쉬트별로 읽기 */ 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); } }
|
|||
다음글 | CI 에러 문의 드립니다. (3) | ||
이전글 | CI 라이브러리 확장 (3) | ||
kaido
/
2016/11/29 09:57:50 /
추천
0
|
|
니로
/
2016/11/29 09:59:11 /
추천
0
|
|
니로
/
2016/11/29 10:12:21 /
추천
0
$objPHPExcel = PHPExcel_IOFactory::load($file_name); 이렇게 하니까 읽은 내용들이 나오긴하는데요 security:PHPExcel:private] => PHPExcel_DocumentSecurity Object ( [_lockRevision:PHPExcel_DocumentSecurity:private] => [_lockStructure:PHPExcel_DocumentSecurity:private] => [_lockWindows:PHPExcel_DocumentSecurity:private] => [_revisionsPassword:PHPExcel_DocumentSecurity:private] => [_workbookPassword:PHPExcel_DocumentSecurity:private] => ) [_workSheetCollection:PHPExcel:private] => Array ( [0] => PHPExcel_Worksheet Object ( [_parent:PHPExcel_Worksheet:private] => PHPExcel Object *RECURSION* [_cellCollection:PHPExcel_Worksheet:private] => PHPExcel_CachedObjectStorage_Memory Object ( [_parent:protected] => PHPExcel_Worksheet Object *RECURSION* [_currentObject:protected] => [_currentObjectID:protected] => B10 [_currentCellIsDirty:protected] => 1 [_cellCache:protected] => Array ( [A1] => PHPExcel_Cell Object ( [_value:PHPExcel_Cell:private] => E201610251477374373261 [_calculatedValue:PHPExcel_Cell:private] => [_dataType:PHPExcel_Cell:private] => s [_parent:PHPExcel_Cell:private] => PHPExcel_CachedObjectStorage_Memory Object *RECURSION* [_xfIndex:PHPExcel_Cell:private] => 0 [_formulaAttributes:PHPExcel_Cell:private] => ) [B1] => PHPExcel_Cell Object ( [_value:PHPExcel_Cell:private] => 123456 [_calculatedValue:PHPExcel_Cell:private] => [_dataType:PHPExcel_Cell:private] => n [_parent:PHPExcel_Cell:private] => PHPExcel_CachedObjectStorage_Memory Object *RECURSION* [_xfIndex:PHPExcel_Cell:private] => 0 [_formulaAttributes:PHPExcel_Cell:private] => ) [A2] => PHPExcel_Cell Object ( [_value:PHPExcel_Cell:private] => E201610141476429106573 [_calculatedValue:PHPExcel_Cell:private] => [_dataType:PHPExcel_Cell:private] => s [_parent:PHPExcel_Cell:private] => PHPExcel_CachedObjectStorage_Memory Object *RECURSION* [_xfIndex:PHPExcel_Cell:private] => 0 [_formulaAttributes:PHPExcel_Cell:private] => ) [B2] => PHPExcel_Cell Object ( [_value:PHPExcel_Cell:private] => 785465 [_calculatedValue:PHPExcel_Cell:private] => [_dataType:PHPExcel_Cell:private] => n [_parent:PHPExcel_Cell:private] => PHPExcel_CachedObjectStorage_Memory Object *RECURSION* [_xfIndex:PHPExcel_Cell:private] => 0 [_formulaAttributes:PHPExcel_Cell:private] => ) [A3] => PHPExcel_Cell Object (
이런식으로 나오는데.. $sheetsCount = $objPHPExcel->getSheetCount(); echo $sheetsCount; 를 하면 1이 나와요..
|
|
우찬아빠
/
2016/11/29 10:32:28 /
추천
0
전 아래와 같이 설정한 후 $objWorksheet = $objPHPExcel->setActiveSheetIndex(0); // 적용할 Sheet를 설정 $highestRow = $objWorksheet->getHighestRow(); // Excel의 전체 행 수 $objWorksheet->getCellByColumnAndRow($cols, $rows)->getValue() 를 써서 $cols 값과 $rows 값을 for문으로 돌려서 뽑아낸 듯 합니다 |
|
혹시 php7 이신가요?
php7 에서 phpexcel 라이브러리가 잘 작동 안한다는 이슈가 있습니다.