1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
declare(strict_types=1); |
4
|
|
|
|
5
|
|
|
namespace PhpOffice\PhpSpreadsheetTests\Writer\Ods; |
6
|
|
|
|
7
|
|
|
use PhpOffice\PhpSpreadsheet\Spreadsheet; |
8
|
|
|
use PhpOffice\PhpSpreadsheetTests\Functional\AbstractFunctional; |
9
|
|
|
|
10
|
|
|
class AutoFilterTest extends AbstractFunctional |
11
|
|
|
{ |
12
|
|
|
public function testAutoFilterWriter(): void |
13
|
|
|
{ |
14
|
|
|
$spreadsheet = new Spreadsheet(); |
15
|
|
|
$worksheet = $spreadsheet->getActiveSheet(); |
16
|
|
|
|
17
|
|
|
$dataSet = [ |
18
|
|
|
['Year', 'Quarter', 'Sales'], |
19
|
|
|
[2020, 'Q1', 100], |
20
|
|
|
[2020, 'Q2', 120], |
21
|
|
|
[2020, 'Q3', 140], |
22
|
|
|
[2020, 'Q4', 160], |
23
|
|
|
[2021, 'Q1', 180], |
24
|
|
|
[2021, 'Q2', 75], |
25
|
|
|
[2021, 'Q3', 0], |
26
|
|
|
[2021, 'Q4', 0], |
27
|
|
|
]; |
28
|
|
|
$worksheet->fromArray($dataSet, null, 'A1'); |
29
|
|
|
$worksheet->getAutoFilter()->setRange('A1:C9'); |
30
|
|
|
|
31
|
|
|
$reloaded = $this->writeAndReload($spreadsheet, 'Ods'); |
32
|
|
|
|
33
|
|
|
self::assertSame('A1:C9', $reloaded->getActiveSheet()->getAutoFilter()->getRange()); |
34
|
|
|
} |
35
|
|
|
|
36
|
|
|
public function testPeriodInSheetNames(): void |
37
|
|
|
{ |
38
|
|
|
$spreadsheet = new Spreadsheet(); |
39
|
|
|
$worksheet = $spreadsheet->getActiveSheet(); |
40
|
|
|
$worksheet->setTitle('work.sheet'); |
41
|
|
|
|
42
|
|
|
$dataSet = [ |
43
|
|
|
['Year', 'Quarter', 'Sales'], |
44
|
|
|
[2020, 'Q1', 100], |
45
|
|
|
[2020, 'Q2', 120], |
46
|
|
|
[2020, 'Q3', 140], |
47
|
|
|
[2020, 'Q4', 160], |
48
|
|
|
[2021, 'Q1', 180], |
49
|
|
|
[2021, 'Q2', 75], |
50
|
|
|
[2021, 'Q3', 0], |
51
|
|
|
[2021, 'Q4', 0], |
52
|
|
|
]; |
53
|
|
|
$worksheet->fromArray($dataSet, null, 'A1'); |
54
|
|
|
$worksheet->getAutoFilter()->setRange('A1:C9'); |
55
|
|
|
|
56
|
|
|
$reloaded = $this->writeAndReload($spreadsheet, 'Ods'); |
57
|
|
|
|
58
|
|
|
self::assertSame('A1:C9', $reloaded->getActiveSheet()->getAutoFilter()->getRange()); |
59
|
|
|
} |
60
|
|
|
} |
61
|
|
|
|