getActiveSheet() ->getCell('A1')->setValue($value); $writer = new Writer($spreadsheet); $writer->save($outputFilename); $spreadsheet->disconnectWorksheets(); $reader = new Reader(); $spreadsheet2 = $reader->load($outputFilename); unlink($outputFilename); self::assertSame( $expected, $spreadsheet2->getActiveSheet() ->getCell('A1')->getValue() ); $spreadsheet2->disconnectWorksheets(); } public static function providerIntyFloatsRetainedByWriter(): array { return [ [-1.0], [-1], [0.0], [0], [1.0], [1], [1e-3], [1.3e-10], [1e10], [3.00000000000000000001], 'int but too much precision for Excel' => [99_999_999_999_999_999, '99999999999999999'], [99_999_999_999_999_999.0], 'int > PHP_INT_MAX so stored as float' => [999_999_999_999_999_999_999_999_999_999_999_999_999_999], [999_999_999_999_999_999_999_999_999_999_999_999_999_999.0], ]; } }