2015년 1월 23일 금요일

PHP 상하로만 셀병합된 데이터 HTML TABLE 소스로 자동 코딩하기

상하로만 셀병합된 Excel 데이터를 csv 형식으로 저장하고
이 데이터가 $csv_data 2차원 array에 들어 있다고 가정

<?php
$count_csv_data = count($csv_data);
for($i=0; $i<$count_csv_data; $i++) {
    for($j=0; $j<count($csv_data[0]); $j++) {
        $rowspan_csv_data[$i][$j] = 0;
    }
}
for($i=$count_csv_data-1; $i>=0; $i--) {
    for($j=0; $j<count($csv_data[0]); $j++) {
        if($csv_data[$i][$j] == "") {
            $rowspan_csv_data[$i-1][$j] = $rowspan_csv_data[$i][$j] + 1;
            $rowspan_csv_data[$i][$j] = 0;
        } else {
            $rowspan_csv_data[$i][$j] += 1;
        }
    }
}
$table_data = "<table>";
for($i=0; $i<$count_csv_data; $i++) {
    $table_data .= "<tr>";
    for($j=0; $j<count($csv_data[0]); $j++) {
        if($rowspan_csv_data[$i][$j] == 0) {
        } else if($rowspan_csv_data[$i][$j] == 1) {
            $table_data .= "<td>";
            $table_data .= $csv_data[$i][$j];
            $table_data .= "</td>";
        } else {
            $table_data .= "<td rowspan=".$rowspan_csv_data[$i][$j].">";
            $table_data .= $csv_data[$i][$j];
            $table_data .= "</td>";
        }
    }
    $table_data .= "</tr>";
}
$table_data .= "</table>";

댓글 없음:

댓글 쓰기