Update spreadsheet-reader.lnk.php

This commit is contained in:
Namhyeon Go 2018-09-20 13:32:23 +09:00 committed by GitHub
parent f4d06e1303
commit cede8b49a6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -17,25 +17,47 @@ loadVendor(array(
)); ));
if(!function_exists("parse_excel_file")) { if(!function_exists("parse_excel_file")) {
function parse_excel_file($filepath, $format="xlsx") { function parse_excel_file($filepath, $format="xlsx", $setColumnName=false) {
$rows = array(); $rows = array();
$spreadsheet = false; $spreadsheet = false;
$fileformat = strtolower($format); $columnNames = array();
$fileFormat = strtolower($format);
if($fileformat == "xlsx") { if($fileFormat == "xlsx") {
$spreadsheet = new SpreadsheetReader_XLSX($filepath); $spreadsheet = new SpreadsheetReader_XLSX($filepath);
} elseif($fileformat == "xls") { } elseif($fileFormat == "xls") {
$spreadsheet = new SpreadsheetReader_XLS($filepath); $spreadsheet = new SpreadsheetReader_XLS($filepath);
} elseif($fileformat == "csv") { } elseif($fileFormat == "csv") {
$spreadsheet = new SpreadsheetReader_CSV($filepath); $spreadsheet = new SpreadsheetReader_CSV($filepath);
} elseif($fileformat == "ods") { } elseif($fileFormat == "ods") {
$spreadsheet = new SpreadsheetReader_ODS($filepath); $spreadsheet = new SpreadsheetReader_ODS($filepath);
} else { } else {
$spreadsheet = new SpreadsheetReader($filepath); $spreadsheet = new SpreadsheetReader($filepath);
} }
foreach($spreadsheet as $index=>$row) {
if(!$setColumnName) {
$rows[] = $row;
} else {
if($index > 0) {
$i = 0;
$cols = array();
foreach($row as $col) {
if((count($columnNames) - 1) > $i) {
$cols[$columnNames[$i]] = $col;
} else {
$cols[] = $col;
}
$i++;
}
$rows[] = $cols;
} else {
$columnNames = array_merge($columnNames, $row);
}
}
}
return $rows;
} }
} }