- 정보공유
[PHP] php 8.0 이상 버전에서 엑셀파일 업로드
use PhpOffice\PhpSpreadsheet\Spreadsheet; //처음 선언해야 함.
use PhpOffice\PhpSpreadsheet\Reader\Xls; //처음 선언해야 함.
if (! function_exists('column_char')) {
function column_char($i) {
$numeric = $i % 26;
$letter = chr(65 + $numeric);
$num2 = intval($i / 26);
if ($num2 > 0) {
return column_char($num2 - 1) . $letter;
} else {
return $letter;
}
}
}
if ($_FILES['attach_file_data']['tmp_name']) {
$file = $_FILES['attach_file_data']['tmp_name'];
require_once(G5_LIB_PATH.'/PhpOffice/Psr/autoloader.php'); //설치폴더 변경시 G5_THEME_PATH 수정요함
require_once(G5_LIB_PATH.'/PhpOffice/PhpSpreadsheet/autoloader.php'); //설치폴더 변경시 G5_THEME_PATH 수정요함
$reader = new PhpOffice\PhpSpreadsheet\Reader\Xls();
$reader->setReadDataOnly(true); //데이터가 있는 행까지만 읽음
$spreadsheet = $reader->load($file);
$data = $spreadsheet->getSheet(0)->toArray(null,true,true,true); // >getSheet(0) 첫번째 시트 / 두번째는 getSheet(1)
for ($i = 2; $i <= count($data); $i++) {
$j = 0;
$excel_date1 = addslashes($data[$i][column_char($j++)]);
$excel_date2 = addslashes($data[$i][column_char($j++)]);
}
}
첨부파일
- PhpOffice.zip (1.1M) 1회 다운로드 | DATE : 2024-07-18 11:07:25