test.html
1 2 3 4 | <form id="uploadForm" method="post" enctype="multipart/form-data" action="excel_upload.php"> <input name="uploadFile" id="uploadFile" type="file" /> <input type="submit" name="action" value="Upload" /> </form> | cs |
excel_upload.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | ?php include $_SERVER["DOCUMENT_ROOT"]."/func/PHPExcel/PHPExcel.php"; //-- 읽을 범위 필터 설정 $rangeArr = range('A','L'); class MyReadFilter implements PHPExcel_Reader_IReadFilter { public function readCell($column, $row, $worksheetName = '') { global $rangeArr; // Read rows 1 to 7 and columns A to E only if (in_array($column,$rangeArr)) { return true; } return false; } } $filterSubset = new MyReadFilter(); $filename = 'test.xlsx'; $upfile_path = './' . $filename; $path = pathinfo($filename); $UpFileExt = strtolower($path['extension']); $inputFileType = ''; //파일 타입 설정 (확자자에 따른 구분) if($UpFileExt == "xls") { $inputFileType = 'Excel5'; }elseif( $UpFileExt == 'xlsx' ){ $inputFileType = 'Excel2007'; } if( file_exists ($upfile_path) && $inputFileType ) { //엑셀리더 초기화 $objReader = PHPExcel_IOFactory::createReader($inputFileType); //데이터만 읽기(서식을 모두 무시해서 속도 증가 시킴) $objReader->setReadDataOnly(false); //범위 지정(위에 작성한 범위필터 적용) $objReader->setReadFilter($filterSubset); //업로드된 엑셀 파일 읽기 $objPHPExcel = $objReader->load($upfile_path); //첫번째 시트로 고정 $objPHPExcel->setActiveSheetIndex(0); //고정된 시트 로드 $objWorksheet = $objPHPExcel->getActiveSheet(); //시트의 지정된 범위 데이터를 모두 읽어 배열로 저장 $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); $total_rows = count($sheetData); //echo "<pre>";print_r($sheetData);echo "</pre>\n"; $kk = 0; echo '<table border="1" cellpadding="0" cellspacing="0" width="100%">'; foreach($sheetData as $rows) { if( $kk ==0 ){ echo '<tr>'; foreach( $rangeArr as $key=>$val ){ echo '<td>'.$rows[$val].'</td>'; } echo '</tr>'; }else{ echo '<tr>'; foreach( $rangeArr as $key=>$val ){ echo '<td>'.$rows[$val].'</td>'; } echo '</tr>'; } $kk++; }//end foreach echo '</table>'; }else{ echo 'Error!!'; } ?> | cs |
'PHP' 카테고리의 다른 글
[PHP] Google SNS 로그인 Composer 이용 (0) | 2023.12.26 |
---|---|
[PHP] 몬티홀의 법칙 확률 프로그래밍으로 확인해보기! (0) | 2021.09.24 |
[PHP] php에서 파일 생성 및 수정하기 (0) | 2017.08.25 |
[PHP] 간단한 이미지 다운로드 (수정) (0) | 2017.08.23 |
[PHP] Date 함수 (0) | 2017.08.14 |