如何根据maatwebsite 3版laravel excel中的内容进行自动高度排行? [英] How do I make automatic height row based on content in the maatwebsite version 3 laravel excel?
问题描述
我有搜索参考,参考说要尝试这样:
I had search reference and the reference say to try like this :
<?php
...
class ReportExport implements ShouldAutoSize, FromView, WithColumnFormatting, WithEvents
{
...
public function registerEvents(): array
{
return [
AfterSheet::class => function(AfterSheet $event) {
...
$event->sheet->getDelegate()->getRowDimension(37)->setRowHeight(-1);
$event->sheet->getDelegate()->getStyle('R37:Z37')->getAlignment()->setWrapText(true);
},
];
}
}
我这样尝试,但是结果是这样的:
I try like that, but the result like this :
应该基于内容/文本自动添加行的高度.但是它没有添加
Should the height of row automatic added based content/text. But it does not added
我该如何解决这个问题?
How can I solve this problem?
更新:
似乎此脚本:$event->sheet->getDelegate()->getRowDimension(37)->setRowHeight(-1);
在表中不起作用
Seems this script : $event->sheet->getDelegate()->getRowDimension(37)->setRowHeight(-1);
is not working in the table
我在表外尝试了脚本,它起作用了.因此,该脚本只能在表格标记之外工作
I tried the script outside the table, it worked. So the script only work outside table tag
我的桌子是这样的:
<table>
....
@php ($group = 'A')
@php ($number = 0)
@foreach($values as $item)
@if($number==0 || $group!=$item['group'])
<tr>
<td colspan="9">Kelompok {{$item['group']}}</td>
<td colspan="2"></td>
<td colspan="3"></td>
<td colspan="3"></td>
<td colspan="9"></td>
<td colspan="2"></td>
<td colspan="3"></td>
<td colspan="3"></td>
<td colspan="9"></td>
</tr>
@php ($number = 0)
@endif
<tr>
<td style="text-align:center;" colspan="2">{{++$number}}</td>
<td colspan="7">{{$item['lesson_name']}}</td>
<td style="text-align:center;" colspan="2">{{$item['kb_pengetahuan']}}</td>
<td style="text-align:center;" colspan="3">{{$item['nilai_pengetahuan']}}</td>
<td style="text-align:center;" colspan="3">{{$item['predikat_pengetahuan']}}</td>
<td colspan="9">{{$item['deskripsi_pengetahuan']}}</td>
<td style="text-align:center;" colspan="2">{{$item['kb_keterampilan']}}</td>
<td style="text-align:center;" colspan="3">{{$item['nilai_keterampilan']}}</td>
<td style="text-align:center;" colspan="3">{{$item['predikat_keterampilan']}}</td>
<td colspan="9">{{$item['deskripsi_keterampilan']}}</td>
</tr>
@php ($group = $item['group'])
@endforeach
</table>
请帮助我.我需要对PhpSpreadsheet功能的支持
Please help me. I need support for PhpSpreadsheet functionality
推荐答案
public function registerEvents(): array
{
return [
AfterSheet::class => function(AfterSheet $event) {
...
$event->sheet->getDelegate()
->getStyle('R37:Z37')
->applyFromArray([ 'alignment' => ['wrapText' => true]])
},
];
}
这篇关于如何根据maatwebsite 3版laravel excel中的内容进行自动高度排行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!