open($path, ZipArchive::CREATE | ZipArchive::OVERWRITE);
$zip->addFromString('xl/worksheets/sheet1.xml', <<<'XML'
店铺
商品编码
天猫-测试店
SKU-1
XML);
$zip->close();
$rows = iterator_to_array((new XlsxSheetReader())->rows($path, ['店铺', '商品编码']));
$this->assertSame([['店铺' => '天猫-测试店', '商品编码' => 'SKU-1']], $rows);
@unlink($path);
}
public function test_it_can_select_a_named_worksheet(): void
{
$path = tempnam(sys_get_temp_dir(), 'xlsx-named-sheet') . '.xlsx';
$zip = new ZipArchive();
$zip->open($path, ZipArchive::CREATE | ZipArchive::OVERWRITE);
$zip->addFromString('xl/workbook.xml', <<<'XML'
XML);
$zip->addFromString('xl/_rels/workbook.xml.rels', <<<'XML'
XML);
$zip->addFromString('xl/worksheets/sheet1.xml', <<<'XML'
汇总
不是明细
XML);
$zip->addFromString('xl/worksheets/sheet2.xml', <<<'XML'
店铺
商品编码
天猫-HX旗舰店101
SKU-NAMED
XML);
$zip->close();
$rows = iterator_to_array((new XlsxSheetReader())->rows(
$path,
['店铺', '商品编码'],
[],
'发货明细表',
));
$this->assertSame(
[['店铺' => '天猫-HX旗舰店101', '商品编码' => 'SKU-NAMED']],
$rows,
);
@unlink($path);
}
}