| 제목 | 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 라이브러리가 잘 작동 안한다는 이슈가 있습니다.