php php 엑셀파일 읽기 - 7.4 이하에서는 phpExcel 1.8, 7.4 이상에서는 phpspreadsheet
페이지 정보

본문
===================================================================
// 7.4 이전버전에서의 phpExcel.1.8 버전
https://github.com/PHPOffice/PHPExcel
7.4버전에서는 에러가 나서, 첨부파일을 올림
첨부파일은 7.4에서도 작동되도록 소스를 수정한 것임
<?php
require_once "PHPExcel-1.8/Classes/PHPExcel.php"; // PHPExcel.php을 불러와야 하며, 경로는 사용자의 설정에 맞게 수정해야 한다.
require_once "PHPExcel-1.8/Classes/PHPExcel/IOFactory.php"; // IOFactory.php을 불러와야 하며, 경로는 사용자의 설정에 맞게 수정해야 한다.
if ( isset($mode) && $mode == "upload") {
if ( isset($_FILES['file']) && $_FILES['file']['name'] != "" ) {
$saveFile = "upload/" . $_FILES["file"]["name"];
//echo $saveFile;
if(move_uploaded_file($_FILES["file"]['tmp_name'], $saveFile)) {
//==========================================================================
$objPHPExcel = new PHPExcel();
$filename = $saveFile; // 읽어들일 엑셀 파일의 경로와 파일명을 지정한다.
$objReader = PHPExcel_IOFactory::createReaderForFile($filename); // 업로드 된 엑셀 형식에 맞는 Reader객체를 만든다.
$objReader->setReadDataOnly(true); // 읽기전용으로 설정
$objExcel = $objReader->load($filename); // 엑셀파일을 읽는다
// 첫번째 시트를 선택
$objExcel->setActiveSheetIndex(0);
$objWorksheet = $objExcel->getActiveSheet();
$rowIterator = $objWorksheet->getRowIterator();
foreach ($rowIterator as $row) { // 모든 행에 대해서
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);
}
$maxRow = $objWorksheet->getHighestRow();
$saveCount = 0;
$chkCount = 0;
for ($i = 0; $i <= $maxRow; $i++) {
$chk_field["A"] = trim($objWorksheet->getCell('A' . $i)->getValue()); // A컬럼
$chk_field["B"] = trim($objWorksheet->getCell('B' . $i)->getValue()); // B컬럼
$chk_field["C"] = trim($objWorksheet->getCell('C' . $i)->getValue()); // C컬럼
print_r($chk_field);
echo "<br />";
}
//==========================================================================
//@unlink($saveFile); // 업로된 파일 삭제시
}
}
}
===================================================================
// 7.4 이후에서는 PhpSpreadsheet 를 권장하고 있음
https://phpspreadsheet.readthedocs.io/en/latest/
https://github.com/PHPOffice/PhpSpreadsheet
> composer require phpoffice/phpspreadsheet
<?php
// excel 파일 만들기
// PhpSpreadsheet 샘플 : https://github.com/PHPOffice/PhpSpreadsheet/tree/master/samples
ini_set("display_error", "1");
//include_once ("common.php");
require ("../vendor/autoload.php");
use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Reader;
use PhpOffice\PhpSpreadsheet\Reader\Xls;
$inputFileName = './01.xls';
// 첫번째
$spreadsheet = IOFactory::load($inputFileName);
$sheetData = $spreadsheet->getActiveSheet()->toArray(null, true, true, true);
//var_dump($sheetData);
//print_r($sheetData);
foreach ($sheetData as $value) {
foreach ($value as $value2) {
echo $value2 . "-";
}
echo "<br />";
}
?>
첨부파일
-
PHPExcel-1.8.zip (4.9M)
2회 다운로드 | DATE : 2022-04-18 16:41:45
- 이전글윈도우에서 파이썬 install 에러서 C++ 14 C++ build Tools 20.10.07
- 다음글php composer : php 의존성 관리 20.05.12
댓글목록
등록된 댓글이 없습니다.