是否可以使用PhpExcel库生成或克隆数据透视表?

时间:2014-09-02 16:33:51

标签: php cakephp phpexcel

最近我使用phpExcel库在cakephp中以excel格式生成报告。除了数据透视表之外,每件事情都很好。

我正在使用主Excel工作表(包含数据透视表)来克隆/生成其他Excel工作表。在新生成的工作表中,其他信息看起来很好,但是没有生成数据透视表(只显示标题上的名称。没有过滤器选项)。这是我正在使用的代码。

        $filename = WWW_ROOT."files/master_report_template/compliance_workflow_master_template.xlsx";
        $reportFileName = WWW_ROOT."files/documents/reports/compliance_workflow_template.xlsx";
        $this->PhpExcel->loadWorksheet($filename); 
        $this->PhpExcel->getActiveSheet()->setCellValue('B1',$this->request->data['fromDate']);
        $this->PhpExcel->getActiveSheet()->setCellValue('B2',$this->request->data['toDate']);
        $this->PhpExcel->getActiveSheet()->setCellValue('B3',date('D-M-y'));
        $row=6;
        foreach($repostData as $rows)
        {
            $col = 0;
            foreach($rows as $key =>$value)
            {   
                $this->PhpExcel->getActiveSheet()->setCellValueExplicitByColumnAndRow($col, $row, $value);
                $col++;
            }
            $row++;
        }
        $this->PhpExcel->save($reportFileName);
        $this->PhpExcel->output(); 

我认为生成的excel表将是Master excel表的克隆,但两者都不相同(由于数据透视表)。是否有任何好的教程或文档来生成数据透视表?

2 个答案:

答案 0 :(得分:1)

虽然这是一个老问题,我想回答:几个月前我遇到了同样的问题,最后决定我需要自己实施(所以这是自我广告......)

这个解决方案远非完美 - 因为我可能是唯一使用它的人 - 但它正是你所描述的:将原始数据写入一张主文件"允许您创建报告:

https://github.com/svrnm/exceldatatables

答案 1 :(得分:0)

如果使用Go,则可以使用excelize在电子表格中创建数据透视表。

create pivot table in excel by excelize with go language