views:

32

answers:

1

Ok I'm dynamically generating the cell coordinates but I get this error, why?

Error:

Exception: Invalid cell coordinate. in /var/www/test/excel/pe/Classes/PHPExcel/Cell.php on line 490

Call Stack:
    0.0003      81132   1. {main}() /var/www/test/excel/createExcelReport.php:0
    0.0225    2691000   2. PHPExcel_Worksheet->setCellValue() /var/www/test/excel/createExcelReport.php:92
    0.0225    2691316   3. PHPExcel_Worksheet->getCell() /var/www/test/excel/pe/Classes/PHPExcel/Worksheet.php:841
    0.0597    8336788   4. PHPExcel_Cell::coordinateFromString() /var/www/test/excel/pe/Classes/PHPExcel/Worksheet.php:940

Here is the code:

// Add some data
echo date('H:i:s') . " Add some data<br />\n";
$objPHPExcel->setActiveSheetIndex(0);

// *********************** TEST ************************************ //

// Set the defaults
$limit_col      = 6;
$limit_row      = 10;
$current_col    = 'A';
$current_row    = 1;

// Create the row and column arrays starting at index 1
$row_arr    = array(1 => $current_row);
$column_arr = array(1 => $current_col);

// Build the column array
while(count($column_arr) < $limit_col) {
    $column_arr[] = ++$current_col;
}

// Build the row array
while(count($row_arr) < $limit_row) {
    $row_arr[] = ++$current_row;
}

//echo "Row<pre>".print_r($row_arr, true)."</pre><br />";
//echo "Column<pre>".print_r($column_arr, true)."</pre><br />";

foreach($row_arr as $row_number) {
    $excel_matrix[$row_number] = $column_arr;
}

foreach($excel_matrix as $row_number => $column_position) {
    foreach($column_position as $column_key => $column_value) {
        $cell = (string)$row_number.''.$column_value;
        echo "Cell: ".$cell."<br />\n";
        $objPHPExcel->getActiveSheet()->SetCellValue($cell, 'Hello'); 
    }
}

// *********************** TEST ************************************ //


//$objPHPExcel->getActiveSheet()->SetCellValue('A1', 'Hello');
//$objPHPExcel->getActiveSheet()->SetCellValue('B2', 'world!');
//$objPHPExcel->getActiveSheet()->SetCellValue('C1', 'Hello');
//$objPHPExcel->getActiveSheet()->SetCellValue('D2', 'world!');
+1  A: 

Passing the Column/Row value wrong.

Should be:

$cell = $column_value.$row_number;
Phill Pafford
doh!! It's an easy mistake to make
Mark Baker