php 엑셀파일 읽기 - 7.4 이하에서는 phpExcel 1.8, 7.4 이상에서는 phpspreadsheet > 소스코드

본문 바로가기

회원로그인

회원가입

소스코드

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

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 126회 작성일 20-09-07 11:55

본문

===================================================================

// 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 />";
}


?>

첨부파일

댓글목록

등록된 댓글이 없습니다.