PHPExcel cells contain same data bug?

Topics: Developer Forum, Project Management Forum, User Forum
Jan 24, 2012 at 9:57 PM

While I am reading ods files (xls and xlsx are ok) using PHPExcel class and two cells are together and contain the same data, the second cell goes blank, Is it a bug? Here is my code:

<?php
	set_include_path(get_include_path() . PATH_SEPARATOR . '../../Librerias/phpexcel/Classes/');
	include 'PHPExcel/IOFactory.php';

	$input_fileName = dirname(__FILE__) . '/bug.ods';
	$input_file_type = PHPExcel_IOFactory::identify($input_fileName);   
	$reader = PHPExcel_IOFactory::createReader($input_file_type);
	$reader->setReadDataOnly(true); 
	$objPHPExcel = $reader->load($input_fileName);  
	$objPHPExcel->setActiveSheetIndex(0);
	$rowIterator = $objPHPExcel->getActiveSheet()->getRowIterator();

	$array_data = array();
	foreach($rowIterator as $row){
		$cellIterator = $row->getCellIterator();
		$cellIterator->setIterateOnlyExistingCells(false);
		$rowIndex = $row->getRowIndex ();    
		foreach ($cellIterator as $cell) {
				$array_data[$rowIndex][$cell->getColumn()] = $cell->getCalculatedValue();
		}
	}
	echo '<pre>' ; print_r($array_data); echo '</pre>' ;
?>

Here is the content into bug.ods

  | A   |   B   |   C   |   D   |   E   |   F
-----------------------------------------------
1 | 1   |   1   |   2   |   2   |   3   |   3
2 | 2   |   2   |   1   |   1   |   3   |   3
3 | 3   |   3   |   1   |   1   |   2   |   2
4 | a   |   a   |   b   |   b   |   c   |   c
5 | b   |   b   |   a   |   a   |   c   |   c
6 | c   |   c   |   a   |   a   |   b   |   b

... and here is the print_r output.

Array
(
    [1] => Array
        (
            [A] => 1
            [B] => 
            [C] => 2
            [D] => 
            [E] => 3
        )

    [2] => Array
        (
            [A] => 2
            [B] => 
            [C] => 1
            [D] => 
            [E] => 3
        )

    [3] => Array
        (
            [A] => 3
            [B] => 
            [C] => 1
            [D] => 
            [E] => 2
        )

    [4] => Array
        (
            [A] => a
            [B] => 
            [C] => b
            [D] => 
            [E] => c
        )

    [5] => Array
        (
            [A] => b
            [B] => 
            [C] => a
            [D] => 
            [E] => c
        )

    [6] => Array
        (
            [A] => c
            [B] => 
            [C] => a
            [D] => 
            [E] => b
        )

)

Am I doing something wrong? Is it a bug?

Some idea?

Feb 1, 2012 at 3:06 PM

Some help?

Regards.

Coordinator
Feb 1, 2012 at 9:10 PM

I've not been able to replicate this myself, do you have a "test case" workbook that you can upload?

Feb 2, 2012 at 12:36 PM

Hi,

I'm having the same problem. I'm trying to read an .ods file with two consecutive cells containing the same date (2011-12-15) . This problem doesn't occur when I use .xlsx files, so this may be some issue with the OOCalc reader.

Did you find any workaround?

Feb 10, 2012 at 6:58 PM

Try this: http://phpexcel.codeplex.com/discussions/270559

Feb 23, 2012 at 10:25 PM
ScottMSanders wrote:

Try this: http://phpexcel.codeplex.com/discussions/270559

Nice, but ... Is not working 100%, when there are three or more contigous cells with the repeated data.

Thk for your response.
Regards.

Coordinator
Feb 24, 2012 at 7:26 AM
This discussion has been copied to a work item. Click here to go to the work item and continue the discussion.