PHPExcel은 데이터를 엑셀로 읽고 쓸 수 있는 매우 강력한 라이브러리입니다.
이제 이 프로젝트는 저자 방문에 의해 보관되어 세부 사항을 볼 수 있습니다. PHPExcel은 공식적으로 PhpSpreadsheet로 알려져 있습니다. XLSX 확장명으로 Excel 파일을 만드는 방법을 알려 드리겠습니다.
PHPExcel 또는 PhpSpreadsheet로 XLSX 파일을 읽는 방법.
설치 : PHPSpreadsheet는 Composer의 도움으로 설치할 수 있습니다.
터미널에서 : 터미널에서 다음 명령을 실행하여 PHPSpreadsheet를 설치하십시오.
composer require phpoffice/phpspreadsheet |
PhpSpreadsheet를 다운로드하여 아래와 같이 프로젝트에 추가하십시오.
<?php
require
'vendor/autoload.php'
;
use
PhpOffice\PhpSpreadsheet\Spreadsheet;
use
PhpOffice\PhpSpreadsheet\Writer\Xlsx;
$spreadsheet
=
new
Spreadsheet();
데이터 작성 및 XLSX 파일 저장 방법
아래 예는 PhpSpreadsheet의 도움으로 XLSX 파일을 작성하는 데 사용할 수 있는 완전한 작업 예입니다.
<?php
require
'vendor/autoload.php'
;
use
PhpOffice\PhpSpreadsheet\Spreadsheet;
use
PhpOffice\PhpSpreadsheet\Writer\Xlsx;
$spreadsheet
=
new
Spreadsheet();
$sheet
=
$spreadsheet
->getActiveSheet();
// Set the value of cell A1
$sheet
->setCellValue(
'A1'
,
'A1 Cell Data Here'
);
$sheet
->setCellValue(
'B1'
,
'B1 Cell Data Here'
);
// Write an .xlsx file
$writer
=
new
Xlsx(
$spreadsheet
);
// Save .xlsx file to the current directory
$writer
->save(
'lcw.xlsx'
);
PhpSpreadsheet에서 XLSX 파일을 읽는 방법?
PhpSpreadsheet를 사용하여 아래 코드의 도움으로 XLSX 파일을 읽을 수 있습니다.
$spreadsheet
= \PhpOffice\PhpSpreadsheet\IOFactory::load(
'lcw.xlsx'
);
$sheet
=
$spreadsheet
->getActiveSheet();
// Store data from the activeSheet to the varibale in the form of Array
$data
=
array
(1,
$sheet
->toArray(null,true,true,true));
// Display the sheet content
var_dump(
$data
);
PHPExcel에서
이전 버전의 PHPExcel을 사용하는 경우 아래 코드를 고려하여 XLSX 파일을 읽으십시오.
예제 코드.
include_once
(
'Excel/Classes/PHPExcel.php'
);
$inputFileName
=
'sample.xlsx'
;
//Read your Excel workbook
try
{
$inputFileType
= PHPExcel_IOFactory::identify(
$inputFileName
);
$objReader
= PHPExcel_IOFactory::createReader(
$inputFileType
);
$objPHPExcel
=
$objReader
->load(
$inputFileName
);
}
catch
(Exception
$e
){
die
(
'Error loading file "'
.
pathinfo
(
$inputFileName
,PATHINFO_BASENAME).
'": '
.
$e
->getMessage());
}
// Get worksheet dimensions
$sheet
=
$objPHPExcel
->getActiveSheet();
$highestRow
=
$sheet
->getHighestRow();
$highestColumn
=
$sheet
->getHighestColumn();
// Loop through each row of the worksheet in turn
for
(
$row
= 1;
$row
<=
$highestRow
;
$row
++){
// Read a row of data into an array
$rowData
=
$sheet
->rangeToArray(
'A'
.
$row
.
':'
.
$highestColumn
.
$row
,
NULL,
TRUE,
FALSE);
// Use foreach loop and insert data into Query
}
참고 : 위의 예에서 강조 표시된 영역을 이해해야 합니다.
$ inputFileName = 'sample.xlsx'; 이 줄은 읽으려는 Excel 파일을 나타냅니다. getSheet 메소드를 사용하여 모든 시트를 읽을 수 있습니다. PHPExcel Archive를 사용하는 경우 getActiveSheet() 메소드를 사용할 수도 있습니다.
$sheet
=
$objPHPExcel
->getSheet(1);
// Change sheet number
이제 Excel 시트의 행과 열을 읽으면 됩니다.
FOR LOOP에서 $rowData에 저장된 모든 데이터. 이제 DB로 데이터를 덤프하면 됩니다.
이를 위해 foreach 루프를 사용하고 루프 내에서 삽입 쿼리를 사용하여 데이터를 저장하십시오. 아래 스니펫은 foreach 루프의 예입니다.
foreach
(
$rowData
as
$val
){
mysqli_query(
'YOUR-QUERY'
,
$connection
)
}
SimpleXLSX 클래스를 사용하여 Excel 파일을 읽을 수도 있습니다.
simpleXLSX 클래스를 다운로드하려면 여기를 클릭하십시오.
아래 스니펫은 XLSX 파일을 읽는 간단한 예제 코드입니다.
require_once
'SimpleXLSX.php'
;
if
(
$xlsx
= SimpleXLSX::parse(
'pricelist.xlsx'
) ) {
print_r(
$xlsx
->rows() );
}
else
{
echo
SimpleXLSX::parse_error();
}
등록된 댓글이 없습니다.