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

是否可以使用PhpExcel库生成或克隆透视表?,php,cakephp,phpexcel,Php,Cakephp,Phpexcel,最近,我使用该库在cakephp中生成excel格式的报告。除了数据透视表,其他一切都正常工作 我正在使用主excel工作表(包含透视表)克隆/生成其他excel工作表。在新生成的工作表中,其他信息看起来不错,但并没有生成透视表(只显示标题上的名称。并没有筛选选项)。这是我正在使用的代码 $filename = WWW_ROOT."files/master_report_template/compliance_workflow_master_template.xlsx";

最近,我使用该库在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工作表将是主excel工作表的克隆,但两者不相同(由于透视表)。有什么好的教程或文档可以生成数据透视表吗?

尽管这是一个老问题,但我想给出一个答案:几个月前我也遇到过同样的问题,最后决定我需要自己实现(所以这是自我宣传…)

这个解决方案远非完美——因为我可能是唯一一个使用它的人——但它所做的正是您所描述的:将原始数据写入“主文件”的一页,从而允许您创建报告:


如果使用Go,可以使用在电子表格中创建透视表


github上有一个pivot表的PR,但在准备发布之前需要做一些额外的工作,因为带有样式的pivot将无法保存,只有在定义的数据集中没有样式时,它才起作用pivot@MarkBaker用户对“github上pivot表的PR”链接感兴趣(但自己无法发表评论),它只适用于OfficeOpenXML(.xlsx)文件,如果在pivot表中应用了任何样式,它将不起作用(正如我前面所说的),这非常有帮助。小建议,电子表格如果保存,打开时不会自动计算公式。这可以很容易地解决。我向您发送了一个pull请求,希望您能够接受。感谢您的建议,我将很快对此进行研究:-)我应该告诉您我测试过的所有几个不同的php电子表格库,这是唯一有效的。干得好。但我应该说,这是一个非常基本的库,只适用于这种情况。