Skip to content

Instantly share code, notes, and snippets.

@anta40
Created October 26, 2020 07:23
Show Gist options
  • Save anta40/26f9ce231c24224f0da6b1dd86044e2f to your computer and use it in GitHub Desktop.
Save anta40/26f9ce231c24224f0da6b1dd86044e2f to your computer and use it in GitHub Desktop.
<?php
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
class MyReadFilter implements \PhpOffice\PhpSpreadsheet\Reader\IReadFilter
{
private $limit;
public function __construct($limit){
$this->limit = $limit;
}
public function readCell($column, $row, $worksheetName = '') {
// mulai baca dr row 2, kolom C & D aja
if ($row >= 2 && $row <= $this->limit) {
if (in_array($column,range('C','D'))) {
return true;
}
}
return false;
}
}
$rowCount = $argv[1] + 1;
$reader = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
$reader->setReadFilter(new MyReadFilter($rowCount)); // gimana caranya biar row count otomatis dihitung???
$reader->setReadDataOnly(true);
$spreadsheet = $reader->load("emp.xlsx");
$worksheet = $spreadsheet->getActiveSheet();
foreach ($worksheet->getRowIterator() as $row) {
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(FALSE);
foreach ($cellIterator as $cell) {
echo $cell->getValue() . PHP_EOL;
}
echo PHP_EOL;
}
echo PHP_EOL;
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment