Ods reader: fix sheet count and added a test for sheet names

This commit is contained in:
Paolo Agostinetto 2017-02-20 21:02:04 +01:00
parent b50ca6e27c
commit c954eddf57
3 changed files with 20 additions and 5 deletions

View File

@ -435,7 +435,9 @@ class Ods extends BaseReader implements IReader
}
// Create sheet
$spreadsheet->createSheet();
if($worksheetID > 0){
$spreadsheet->createSheet(); // First sheet is added by default
}
$spreadsheet->setActiveSheetIndex($worksheetID);
if ($worksheetName) {

View File

@ -13,9 +13,7 @@ use PhpOffice\PhpSpreadsheet\Reader\Ods;
use PhpOffice\PhpSpreadsheet\Style\Font;
/*
* @todo Fix sheet name (is not imported correctly)
* @todo Sheets count is incorrect
* @todo The class doesn't read the bold/italic/underline properties
* @todo The class doesn't read the bold/italic/underline properties (rich text)
*/
class OdsTest extends \PHPUnit_Framework_TestCase
{
@ -61,13 +59,28 @@ class OdsTest extends \PHPUnit_Framework_TestCase
return $this->spreadsheetData;
}
public function testReadFileProperties()
{
$filename = __DIR__ . '/../../data/Reader/Ods/data.ods';
// Load into this instance
$reader = new Ods();
// Test "listWorksheetNames" method
$this->assertEquals([
"Sheet1",
"Second Sheet",
], $reader->listWorksheetNames($filename));
}
public function testLoadWorksheets()
{
$spreadsheet = $this->loadDataFile();
$this->assertInstanceOf('PhpOffice\PhpSpreadsheet\Spreadsheet', $spreadsheet);
// $this->assertCount(1, $spreadsheet->getAllSheets());
$this->assertEquals(2, $spreadsheet->getSheetCount());
$firstSheet = $spreadsheet->getSheet(0);
$this->assertInstanceOf('PhpOffice\PhpSpreadsheet\Worksheet', $firstSheet);

Binary file not shown.