Объединить повторное значение в таблице PHPS - PullRequest
0 голосов
/ 31 января 2020

Итак, это мой код php и данные json, я уже экспортировал их в Phpspreadsheet. Но как мне объединить, если значения одинаковы? Например, номер слияния и имя.

PHP:

 $spreadsheet = new Spreadsheet();
        $sheet = $spreadsheet->getActiveSheet();
        $sheet->setCellValue('A1', 'No')->mergeCells('A1:A2');
        $sheet->setCellValue('B1', 'Name')->mergeCells('B1:B2');
        $sheet->setCellValue('C1', 'Room')->mergeCells('C1:C2');
        $sheet->setCellValue('D1', 'Qty')->mergeCells('D1:D2');
        $i=3;
        $json = file_get_contents('myjson.txt');
        $obj = json_decode($json,TRUE);
        foreach ($obj as $v) {
            $sheet->setCellValue('A' . $i, $v['no']);
            $sheet->setCellValue('B' . $i, $v['name']);
            $sheet->setCellValue('C' . $i, $v['room']);
            $sheet->setCellValue('D' . $i, $v['qty']);
            $i++;
        }
        $styleArray = [
            'borders' => [
                'allBorders' => [
                    'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN,
                ],
            ],
        ];
        $i = $i - 1;
        $outputFileName="Report .xlsx";
        File::delete('C:/' . $outputFileName);
        $sheet->getStyle('A1:M'.$i)->applyFromArray($styleArray);
        $writer = new Xlsx($spreadsheet);
        $writer->save('C:/' . $outputFileName);

Json файл:

 [
    {
        "no": 4,
        "name": "Susan",
        "room": "1001847.0008105.03",
        "qty": "IDR",
    },
    {
        "no": 4,
        "name": "Susan",
        "room": "1001847.0008105.03",
        "qty": "IDR",
    },
    {
        "no": 4,
        "name": "Susan",
        "room": "1001847.0008105.03",
        "qty": "IDR",
    },
    {
        "no": 4,
        "name": "Susan",
        "room": "1001847.0008105.03",
        "qty": "IDR",
    },
    {
        "no": 4,
        "name": "Susan",
        "room": "1001847.0008105.03",
        "qty": "IDR",
    },
    {
        "no": 5,
        "name": "Mira",
        "room": "1112950.0008140.03",
        "qty": "IDR",
    },
    {
        "no": 5,
        "name": "Mira",
        "room": "1112950.0008140.03",
        "qty": "IDR",
    }
]

Я прочитал это: Как объединить строку с тем же значением в PHPExcel, зациклив массив с if logi c, но не могу понять это с моим случаем.

...