Created
December 8, 2020 17:24
-
-
Save saltnpixels/cb65ad0d3773296ef359f0b5d50a7594 to your computer and use it in GitHub Desktop.
WordPress Excel Spreadsheet
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//add the php spreadsheet library via composer interminal | |
composer require phpoffice/phpspreadsheet | |
//put function in theme in WP. Use the get_spreadsheet on a file to get the file like a csv. Works on xlsx | |
function get_spreadsheet($filepath) { | |
require get_template_directory() . '/vendor/autoload.php'; //if not using wp remove get_template_directory() | |
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($filepath); | |
$worksheet = $spreadsheet->getActiveSheet(); | |
$worksheet = $spreadsheet->getActiveSheet(); | |
$rows = $worksheet->toArray(); | |
$header = array_shift($rows); | |
foreach ($header as $key => $column){ | |
$header[$key] = strtolower(preg_replace("/\s+/", "_", $column)); | |
} | |
$data = toKeyedRows($rows, $header); | |
return $data; | |
} | |
function toKeyedRows(array $rows, array $header) | |
{ | |
array_walk($header,function($value,$key){ $value = $value?:$key; }); | |
array_walk( | |
$rows, | |
function(&$row)use($header) | |
{ | |
$row = array_combine($header,$row); | |
} | |
); | |
return $rows; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment