提问人:moon 提问时间:10/13/2023 最后编辑:moon 更新时间:10/16/2023 访问量:81
如何在单元格中设置不同的字体大小
how to set different font sizes within in a cell
问:
$rowIndex = 1;
foreach ($request->warehouses as $warehouse) {
$whId = $warehouse['id_warehouse'];
$warehouse = Warehouse::find($whId);
if ($warehouse) {
foreach ($rowDetails as $rowDetail) {
$fieldName = $rowDetail['id_field'];
$fieldValue = $warehouse->$fieldName;
$fontSize = $rowDetail['font_size'];
$cellData = "$fieldValue\n";
$sheet->setCellValue('A' . $rowIndex, $cellData);
$sheet->getStyle('A' . $rowIndex)->getAlignment()->setWrapText(true);
$sheet->getStyle('A' . $rowIndex)->getFont()->setSize($fontSize);
$rowIndex++;
}
}
}
在此代码中,field_value具有不同的font_size,并在每个单元格中分隔:
我想制作一个导出 excel 文件,其中每个field_value都有一个已设置的font_size值,并且field_values在单元格中用新行分隔(换行文本),而来自每个仓库的新数据将在新单元格中分隔。例如:
答:
1赞
Khayam Khan
10/13/2023
#1
要在单个单元格中设置不同的字体大小,并在单元格中用新行(自动换行)分隔field_values,可以使用 PHPExcel 提供的 RichText 功能。
foreach ($rowDetails as $rowDetail) {
$fieldName = $rowDetail['id_field'];
$fieldValue = $warehouse->$fieldName;
$fontSize = $rowDetail['font_size'];
$richText = new \PhpOffice\PhpSpreadsheet\RichText\RichText();
$textRun = $richText->createTextRun($fieldValue);
$textRun->getFont()->setSize($fontSize);
$cellData = $richText;
$sheet->setCellValue('A' . $rowIndex, $cellData);
$sheet->getStyle('A' . $rowIndex)->getAlignment()->setWrapText(true);
$rowIndex++;
}
评论