public function PHPExcelTest::testMultipleWorksheetExport in PHPExcel 7.3
Same name and namespace in other branches
- 8.3 tests/phpexcel.test \PHPExcelTest::testMultipleWorksheetExport()
- 6.2 tests/phpexcel.test \PHPExcelTest::testMultipleWorksheetExport()
- 6 tests/phpexcel.test \PHPExcelTest::testMultipleWorksheetExport()
- 7.2 tests/phpexcel.test \PHPExcelTest::testMultipleWorksheetExport()
Test multiple worksheet Excel export.
File
- tests/
phpexcel.test, line 198 - Defines the test case for phpexcel
Class
- PHPExcelTest
- @file Defines the test case for phpexcel
Code
public function testMultipleWorksheetExport() {
// Prepare data.
$headers = array(
'Sheet 1' => array(
'Header 1.1',
'Header 1.2',
),
'Sheet 2' => array(
'Header 2.1',
'Header 2.2',
),
);
$data = array(
'Sheet 1' => array(
array(
'Data 1.1.1',
'Data 1.1.2',
),
array(
'Data 1.2.1',
'Data 1.2.2',
),
array(
'Data 1.3.1',
'Data 1.3.2',
),
),
'Sheet 2' => array(
array(
'Data 2.1.1',
'Data 2.1.2',
),
array(
'Data 2.2.1',
'Data 2.2.2',
),
array(
'Data 2.3.1',
'Data 2.3.2',
),
),
);
// Create a file path.
$correct_path = file_create_filename($this
->getFilename(), $this->directory);
// The filename will be munged by the export function, so:
$this->test_files[] = $actual_path = phpexcel_munge_filename($correct_path);
$this
->assertEqual(PHPEXCEL_SUCCESS, phpexcel_export($headers, $data, $correct_path), t('Exported data to !path', array(
'!path' => $actual_path,
)));
$this
->assertTrue(filesize($actual_path) > 0, 'Filesize should be bigger than 0');
// Import, keyed by headers.
$data = phpexcel_import($actual_path);
$this
->assertTrue(!!$data, 'Import succeeded');
// Should have 3 rows.
$count = !empty($data[0]) ? count($data[0]) : 0;
$this
->assertTrue($count === 3, t('!count rows, expect 3', array(
'!count' => $count,
)));
// Should only have 2 cells.
$count = !empty($data[0][0]) ? count($data[0][0]) : 0;
$this
->assertTrue($count === 2, t('!count cells, expect 2', array(
'!count' => $count,
)));
// Should be keyed by headers.
$this
->assertTrue(isset($data[0][0]['Header 1.1']), 'Keyed by header ("Header 1.1")');
$this
->assertTrue(isset($data[1][0]['Header 2.2']), 'Keyed by header ("Header 2.2")');
$header = !empty($data[0][0]['Header 1.1']) ? $data[0][0]['Header 1.1'] : 'no';
$this
->assertTrue($header === 'Data 1.1.1', 'Should be "Data 1.1.1"');
$header = !empty($data[1][1]['Header 2.2']) ? $data[1][1]['Header 2.2'] : 'no';
$this
->assertTrue($header === 'Data 2.2.2', 'Should be "Data 2.2.2"');
// Import with worksheet names.
$data = phpexcel_import($actual_path, TRUE, TRUE);
$this
->assertTrue(!!$data, 'Import succeeded');
// Should have 3 rows.
$count = !empty($data['Sheet 1']) ? count($data['Sheet 1']) : 0;
$this
->assertTrue($count === 3, t('!count rows, expect 3', array(
'!count' => $count,
)));
// Should be keyed by Worksheet name.
$this
->assertTrue(isset($data['Sheet 1']), t('Imported with Worksheet names.'));
$this
->assertTrue(isset($data['Sheet 2']), t('Imported with Worksheet names.'));
// Should only have 2 cells.
$count = !empty($data['Sheet 1'][0]) ? count($data['Sheet 1'][0]) : 0;
$this
->assertTrue($count === 2, t('!count cells, expect 2', array(
'!count' => $count,
)));
// Should be keyed by headers.
$this
->assertTrue(isset($data['Sheet 1'][0]['Header 1.1']), 'Keyed by header ("Header 1.1")');
$this
->assertTrue(isset($data['Sheet 2'][0]['Header 2.2']), 'Keyed by header ("Header 2.2")');
$header = !empty($data['Sheet 1'][0]['Header 1.1']) ? $data['Sheet 1'][0]['Header 1.1'] : 'no';
$this
->assertTrue($header === 'Data 1.1.1', 'Should be "Data 1.1.1"');
$header = !empty($data['Sheet 2'][1]['Header 2.2']) ? $data['Sheet 2'][1]['Header 2.2'] : 'no';
$this
->assertTrue($header === 'Data 2.2.2', 'Should be "Data 2.2.2"');
}