【发布时间】:2019-02-24 13:01:39
【问题描述】:
我有一个非常基本的脚本,它使用基本查询返回结果行并将它们成功打印到 Excel 工作表
//Create and run query
$sql = "
SELECT Manager, count(*) as Items
from itemCount
where start_date >= '2019-01-01'
group by Manager
order by Manager";
$result = odbc_exec($DB2Conn, $sql);
$phpExcel = new PHPExcel;
$sheet = $phpExcel->getActiveSheet();
$sheet ->setTitle("Management Numbers");
$sheet ->getColumnDimension('A') -> setAutoSize(true);
$sheet ->getColumnDimension('B') -> setAutoSize(true);
//Create header row
$sheet->setCellValue('A1', 'Manager');
$sheet->setCellValue('B1', 'Items');
$rowCount = 2;
while($row = odbc_fetch_array($result)){
var_dump($row);
$sheet->setCellValue('A'.$rowCount, $row['Manager']);
$sheet->setCellValue('B'.$rowCount, $row['Items']);
$rowCount++;
}
$writer = PHPExcel_IOFactory::createWriter($phpExcel, "Excel2007");
$writer->save('Management Numbers.xlsx');
问题来了:
查询当前以这种格式返回正确的行:
Manager | Items
-----------------
12 5
13 2
16 3
11 7
18 4
19 8
22 1
21 7
32 4
53 3
25 5
75 2
但是每个经理都向某个部门报告,我想映射它,以便我可以硬编码并将经理分配到部门。
如何使用数组将经理分配给像
这样的部门 1=>12,13,16
2=>11,18,19,22,21
3=>32,53,25,75
这样我就得到了一个电子表格,其中只有部门编号和分配给它的经理的汇总编号,如下所示:
Manager | Items
------------------
1 41
2 91
3 185
【问题讨论】: