1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
namespace PhpOffice\PhpSpreadsheetTests\Functional; |
4
|
|
|
|
5
|
|
|
use PhpOffice\PhpSpreadsheet\Reader\Csv as CsvReader; |
6
|
|
|
use PhpOffice\PhpSpreadsheet\Shared\File; |
7
|
|
|
use PhpOffice\PhpSpreadsheet\Spreadsheet; |
8
|
|
|
use PhpOffice\PhpSpreadsheet\Writer\Csv as CsvWriter; |
9
|
|
|
use PhpOffice\PhpSpreadsheet\Writer\Exception as WriterException; |
10
|
|
|
use PhpOffice\PhpSpreadsheetTests\Functional; |
11
|
|
|
|
12
|
|
|
class CsvWriteTest extends Functional\AbstractFunctional |
13
|
|
|
{ |
14
|
|
|
public function testNotFirstSheet() |
15
|
|
|
{ |
16
|
|
|
$spreadsheet = new Spreadsheet(); |
17
|
|
|
$sheet = $spreadsheet->getActiveSheet(); |
18
|
|
|
$sheet->setCellValue('A1', 'First Sheet'); |
19
|
|
|
$sheet = $spreadsheet->createSheet(); |
20
|
|
|
$sheet->setCellValue('A1', 'Second Sheet'); |
21
|
|
|
$sheet = $spreadsheet->createSheet(); |
22
|
|
|
$sheet->setCellValue('A1', 'Third Sheet'); |
23
|
|
|
$writer = new CsvWriter($spreadsheet); |
24
|
|
|
$writer->setSheetIndex(1); |
25
|
|
|
self::assertEquals(1, $writer->getSheetIndex()); |
26
|
|
|
$filename = tempnam(File::sysGetTempDir(), 'phpspreadsheet-test'); |
27
|
|
|
$writer->save($filename); |
28
|
|
|
$reader = new CsvReader(); |
29
|
|
|
$newspreadsheet = $reader->load($filename); |
30
|
|
|
unlink($filename); |
31
|
|
|
$sheet = $newspreadsheet->getActiveSheet(); |
32
|
|
|
self::assertEquals('Second Sheet', $sheet->getCell('A1')->getValue()); |
33
|
|
|
self::assertEquals(0, $newspreadsheet->getActiveSheetIndex()); |
34
|
|
|
} |
35
|
|
|
|
36
|
|
|
public function testWriteEmptyFileName() |
37
|
|
|
{ |
38
|
|
|
$this->expectException(WriterException::class); |
39
|
|
|
$spreadsheet = new Spreadsheet(); |
40
|
|
|
$writer = new CsvWriter($spreadsheet); |
41
|
|
|
$filename = ''; |
42
|
|
|
$writer->save($filename); |
43
|
|
|
} |
44
|
|
|
|
45
|
|
|
public function testDefaultSettings() |
46
|
|
|
{ |
47
|
|
|
$spreadsheet = new Spreadsheet(); |
48
|
|
|
$writer = new CsvWriter($spreadsheet); |
49
|
|
|
self::assertEquals('"', $writer->getEnclosure()); |
50
|
|
|
$writer->setEnclosure('\''); |
51
|
|
|
self::assertEquals('\'', $writer->getEnclosure()); |
52
|
|
|
$writer->setEnclosure(''); |
53
|
|
|
self::assertEquals('"', $writer->getEnclosure()); |
54
|
|
|
self::assertEquals(PHP_EOL, $writer->getLineEnding()); |
55
|
|
|
self::assertFalse($writer->getUseBOM()); |
56
|
|
|
self::assertFalse($writer->getIncludeSeparatorLine()); |
57
|
|
|
self::assertFalse($writer->getExcelCompatibility()); |
58
|
|
|
self::assertEquals(0, $writer->getSheetIndex()); |
59
|
|
|
} |
60
|
|
|
} |
61
|
|
|
|