如何动态添加到PHPExcel电子表格

时间:2016-01-05 21:46:04

标签: php mysql pdo phpexcel

好的,我有这个代码

        $key = $_SESSION['order_nums'];
        $sqll = "SELECT * FROM `money` WHERE `order` = :key";
        $qq=$con->prepare($sqll);
        $qq->bindvalue(":key", $key);
        $qq->execute();


        $excel2 = PHPExcel_IOFactory::createReader('Excel2007');
        $excel2 = $excel2->load('nTest.xlsx'); // Empty Sheet
        $excel2->setActiveSheetIndex(0);
        $worksheet = $excel2->getActiveSheet();

        while($fdata=$qq->fetch(PDO::FETCH_ASSOC))
        {   
            $worksheet
                ->setCellValue('A7', $fdata['code']);


        }

在设置A7的单元格值的地方,大约有6个匹配的单元格。但是,当我这样做时,它只会进入CELL A7

            while($fdata=$qq->fetch(PDO::FETCH_ASSOC))
        {   
            $worksheet
                ->setCellValue('A7', $fdata['code']);


        }

我怎样才能做到 上述值将为每个新条目下拉一个单元格。

所以下一个是A8,A9 .....等等。

2 个答案:

答案 0 :(得分:1)

'A7'不是某种神奇的值,它只是一个普通的PHP字符串,它作为标准函数参数传递给setCellValue()方法....你可以用字符串替换它您自己定义的变量,并为每行更改

    $column = 'A';
    $row = 7;
    while($fdata=$qq->fetch(PDO::FETCH_ASSOC))
    {   
        $worksheet
            ->setCellValue($column . $row, $fdata['code']);
        $row++;

    }

答案 1 :(得分:0)

$row = 'A';
while($fdata=$qq->fetch(PDO::FETCH_ASSOC)){ 
    $col = 1;
    foreach($fdata as $data){
        $worksheet->setCellValue("$row$col", $data);
        $col++;
    }
    $row++;
}