使用phpExcel库创建excel文件时遇到问题。
我想基于销售列(具有相同的销售名称)在某些行上创建组。
我已使用Excel中“数据”选项卡上的“小计”功能手动制作了文件。
phpexcel是否可能具有这种功能?
您可以在我上传的链接/图像上看到我所指的示例文件。
非常感谢您。
答案 0 :(得分:0)
您可以像这样将行分组
$objPHPExcel->getActiveSheet()->getRowDimension('5')->setOutlineLevel(1);
答案 1 :(得分:0)
使用PHPExcel,您可以使用以下方法:
这里要点是定义组条件,例如:
我们假设excel文件已经使用PHPExcel和 现在,您将再次读取文件以对行进行分组。
首先让我们阅读包含推销员姓名的C列,并将其存储在 $ salemans 中:
$salesmans = array();
/*
the output of $salesmans seems to be something like :
[0] ==> "Abdul Karim",
[1] ==> "Apan Total",
[2] ==> ""Ari Total
*/
数组$ salesman应该具有不同的值,因此在尝试 在数组中插入验证当前值是否不存在 已经在$ salesmans中了。
示例:
$salesmans=array();
if (!in_array($currentSalesman, $salesmans))
{
$array[] = $value;
}
在这里,我们将通过使用$ salesmans中的键获取当前业务员的值来设置每行的级别
警告:请尝试修改此部分,因为我没有得到 您如何管理提取行。我只是让代码更清晰易懂
for ($row = 0; $row <= 10000; ++$row) {
$currentsalesman = $row['c']; //
$keylevel = array_search($currentsalesman, $salesmans);// this will return the key in $salesmans array
$objPHPExcel->getActiveSheet()
->getRowDimension($row)
->setOutlineLevel($keylevel) // set here the level .
->setVisible(false)
->setCollapsed(true);
}