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




+ Recent posts