[英]How grouping rows by field in PHPExcel
使用 phpExcel 庫創建 excel 文件時遇到問題。
我想根據銷售列(具有相同的銷售名稱)在某些行上創建組。
我通過使用 Excel 中“數據”選項卡上的“小計”功能手動制作了該文件。
phpexcel有沒有可能有這樣的功能?
您可以在我上傳的鏈接/圖像上看到我的意思的示例文件。
使用 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 應該具有不同的 value ,因此當嘗試在數組中插入時,請驗證 $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);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.