代码之家  ›  专栏  ›  技术社区  ›  Phill Pafford

无效的单元格坐标phpexcel

  •  1
  • Phill Pafford  · 技术社区  · 15 年前

    好吧,我正在动态生成单元坐标,但是我得到了这个错误,为什么?

    错误:

    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
    

    代码如下:

    // 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 回复  |  直到 10 年前
        1
  •  1
  •   Phill Pafford    15 年前

    $cell = $column_value.$row_number;
    
    推荐文章