在yii中使用PHPExcel不会在Excel文件中添加值

时间:2014-08-27 06:03:38

标签: php yii phpexcel

我正在尝试使用yii中的PHPExcel将数据导出到Excel文件。但是当我尝试将数据导出到excel文件时,我得到了空白单元格。

我可以在文件中添加静态值,例如列名。

    $rowCount = 2; 
    $objPHPExcel->getActiveSheet()->SetCellValue('C'.$rowCount, "Sr. No");
    $objPHPExcel->getActiveSheet()->SetCellValue('D'.$rowCount, "Suite Name");

这是我的控制器操作中的代码。我可以看到带有echo语句的数组值。

         $i = 1;
   $rowCount = 3; 
    foreach ($result as $row) {
         $value =  $row['suite_name'];
        echo "<javascript type='text/javascript'>alert('$i, $rowCount, C$rowCount, D$rowCount ".$value."')</script>"; 

        $objPHPExcel->getActiveSheet()->SetCellValue('C'.$rowCount, $i); 

        $objPHPExcel->getActiveSheet()->SetCellValue('D'.$rowCount, $value); 
        // Increment the Excel row counter
        $rowCount++; 
        $i++;
    } 

而不是$ value我直接尝试使用$ row ['suite_name'],这也没用。请,任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

尝试使用PHPExcel fromArray()方法将数组值保存到Excel工作表。

实施例

单维数组

$rowArray = array('Value1', 'Value2', 'Value3', 'Value4');
$objPHPExcel->getActiveSheet()
    ->fromArray(
        $rowArray,   // The data to set
        NULL,        // Array values with this value will not be set
        'C3'         // Top left coordinate of the worksheet range where
                     //    we want to set these values (default is A1)
    );

多维数组

$arrayData = array(
    array(NULL, 2010, 2011, 2012),
    array('Q1',   12,   15,   21),
    array('Q2',   56,   73,   86),
    array('Q3',   52,   61,   69),
    array('Q4',   30,   32,    0),
);
$objPHPExcel->getActiveSheet()
    ->fromArray(
        $arrayData,  // The data to set
        NULL,        // Array values with this value will not be set
        'C3'         // Top left coordinate of the worksheet range where
                     //    we want to set these values (default is A1)
);