| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 | <?phpnamespace Tests\Exporters;use Dcat\EasyExcel\Excel;trait Exporter{    protected $tempFiles = [];    protected function assertSingleSheet(string $file, $key, array $compares)    {        // 读取        $sheetsArray = Excel::import($file)->toArray();        $this->assertIsArray($sheetsArray);        $this->assertEquals(count($sheetsArray), 1);        $this->assertTrue(isset($sheetsArray[$key]));        $this->assertEquals(array_values($sheetsArray[$key]), $compares);    }    /**     * @param  string  $storePath     * @param  array  $users1     * @param  array  $users2     *     * @throws \Box\Spout\Common\Exception\IOException     * @throws \Box\Spout\Common\Exception\UnsupportedTypeException     * @throws \League\Flysystem\FileNotFoundException     */    protected function assertSheets($storePath, $users1, $users2)    {        // 读取        $sheetsArray = Excel::import($storePath)->toArray();        $this->assertIsArray($sheetsArray);        $this->assertEquals(count($sheetsArray), 2);        $this->assertTrue(isset($sheetsArray['sheet1']));        $this->assertTrue(isset($sheetsArray['sheet2']));        $this->assertEquals(array_values($sheetsArray['sheet1']), $users1);        $this->assertEquals(array_values($sheetsArray['sheet2']), $users2);    }    protected function generateTempFilePath(string $type)    {        return $this->tempFiles[] = __DIR__.'/../resources/'            .uniqid(microtime(true).mt_rand(0, 1000))            .'.'.$type;    }    public function tearDown(): void    {        parent::tearDown();        // 删除临时文件        foreach ($this->tempFiles as $file) {            if (is_file($file)) {                @unlink($file);            }        }    }}
 |