如何使用PhpSpreadsheet將數(shù)組數(shù)據(jù)導(dǎo)出并合并行生成Excel表格?

使用phpspreadsheet導(dǎo)出并合并excel表格行數(shù)據(jù)

本文介紹如何利用PhpSpreadsheet庫(kù)將數(shù)組數(shù)據(jù)導(dǎo)出為excel表格,并實(shí)現(xiàn)行合并效果。假設(shè)您有一個(gè)如下所示的數(shù)組:

[     "customer" => "西卡若卡",     "product" => [         [             "name" => "瓶-500ml塑料瓶",             "parts" => "24牙35克",             "rongliang" => "500ml"         ],         [             "name" => "內(nèi)塞-500ml塑料瓶",             "parts" => "19小孔內(nèi)塞+蓋板",         ],         [             "name" => "蓋子-500ml塑料瓶",             "parts" => "24牙雙層pp蓋",         ],     ] ]

目標(biāo)是將其導(dǎo)出為excel表格,并合并客戶名稱(chēng)所在的行,效果如下圖所示:

如何使用PhpSpreadsheet將數(shù)組數(shù)據(jù)導(dǎo)出并合并行生成Excel表格?

PhpSpreadsheet 提供了 mergeCells() 方法來(lái)合并單元格。以下代碼演示了如何使用該方法實(shí)現(xiàn)行合并:

立即學(xué)習(xí)PHP免費(fèi)學(xué)習(xí)筆記(深入)”;

use PhpofficePhpSpreadsheetSpreadsheet; use PhpOfficePhpSpreadsheetWriterXlsx;  $spreadsheet = new Spreadsheet(); $sheet = $spreadsheet->getActiveSheet();  $data = [     "customer" => "西卡若卡",     "product" => [         [             "name" => "瓶-500ML塑料瓶",             "parts" => "24牙35克",             "rongliang" => "500ML"         ],         [             "name" => "內(nèi)塞-500ML塑料瓶",             "parts" => "19小孔內(nèi)塞+蓋板",         ],         [             "name" => "蓋子-500ML塑料瓶",             "parts" => "24牙雙層PP蓋",         ],     ] ];  $sheet->setCellValue('A1', '客戶'); $sheet->setCellValue('B1', '產(chǎn)品名稱(chēng)'); $sheet->setCellValue('C1', '部件'); $sheet->setCellValue('D1', '容量');  $row = 2; foreach ($data['product'] as $product) {     $sheet->setCellValue('A' . $row, $data['customer']);     $sheet->setCellValue('B' . $row, $product['name']);     $sheet->setCellValue('C' . $row, $product['parts']);     if (isset($product['rongliang'])) {         $sheet->setCellValue('D' . $row, $product['rongliang']);     }     $row++; }  // 合并客戶列 $sheet->mergeCells('A2:A' . ($row - 1));  $writer = new Xlsx($spreadsheet); $writer->save('example.xlsx'); 

這段代碼首先設(shè)置表頭,然后循環(huán)遍歷數(shù)組數(shù)據(jù)寫(xiě)入單元格。最后,使用 mergeCells(‘A2:A’ . ($row – 1)) 合并從 A2 到 A(最后一行) 的單元格。 請(qǐng)確保您已正確安裝 PhpSpreadsheet 庫(kù)。 運(yùn)行此代碼將生成一個(gè)名為 example.xlsx 的 Excel 文件,其中包含合并后的行數(shù)據(jù)。 此方法清晰地展示了如何使用 PhpSpreadsheet 實(shí)現(xiàn)數(shù)組數(shù)據(jù)導(dǎo)出和單元格合并。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊8 分享