欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

php 導出excel合并單元格

周雨萌1年前7瀏覽0評論

本文章將介紹如何使用PHP導出Excel并合并單元格。在日常工作中,有時候需要將數據導出到Excel表格中,并且需要將某些單元格合并以便更好地展示數據。使用PHP結合第三方庫PHPExcel,我們可以輕松地實現這一功能。

假設我們有一個學生成績表格需要導出,其中包含了學生的姓名、科目以及成績。我們希望將每個學生的成績合并到一行中,并將科目列進行合并,以便更好地展示學生成績。

首先,我們需要安裝PHPExcel庫。可以通過Composer來安裝PHPExcel,執行以下命令:

composer require phpoffice/phpexcel

安裝完成后,我們可以開始編寫代碼。首先,我們需要引入PHPExcel庫的自動加載器:

require_once 'vendor/autoload.php';

接下來,我們可以創建一個新的Excel文件并設置相關屬性:

$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()
->setTitle('學生成績表')
->setSubject('學生成績')
->setCreator('PHPExcel')
->setLastModifiedBy('PHPExcel')
->setDescription('學生成績表格')
->setKeywords('學生成績')
->setCategory('成績表');

現在,我們可以開始填充數據到Excel表格中了。假設我們已經從數據庫中獲取到了學生的成績數據,可以使用以下代碼來填充數據:

$data = [
['張三', '語文', 90],
['張三', '數學', 95],
['李四', '語文', 88],
['李四', '數學', 92]
];
$row = 2;
$prevStudent = null;
foreach ($data as $row_data) {
$student = $row_data[0];
$subject = $row_data[1];
$score = $row_data[2];
if ($student != $prevStudent) {
// 合并姓名單元格
$objPHPExcel->getActiveSheet()
->mergeCells('A' . $row . ':A' . ($row + 1));
$prevStudent = $student;
}
// 填充數據
$objPHPExcel->getActiveSheet()
->setCellValue('A' . $row, $student)
->setCellValue('B' . $row, $subject)
->setCellValue('C' . $row, $score);
$row++;
}

在上面的代碼中,我們使用循環來遍歷數據并逐行填充到Excel表格中。當遇到不同的學生時,我們合并姓名這個單元格,以實現姓名只顯示一次的效果。

最后,我們還需要保存Excel文件并輸出到瀏覽器中:

$writer = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="學生成績表.xlsx"');
header('Cache-Control: max-age=0');
$writer->save('php://output');

通過以上代碼,我們成功地創建了一個包含合并單元格的Excel文件,并將其導出到瀏覽器中。現在,我們可以點擊鏈接下載學生成績表格。

通過本文的介紹,您應該已經了解了如何使用PHP結合PHPExcel庫來導出Excel并合并單元格。這能夠幫助您更好地展示數據,并提升工作效率。

參考資料:
https://github.com/PHPOffice/PHPExcel