如何在Laravel中使用Excel Export在一个单元格中显示多行数据

时间:2019-06-18 09:23:04

标签: html laravel laravel-excel

我有一个nayjest表,我想将此表中的数据导出到excel文件中。

但是我无法格式化其单元格中的数据。

例如,我想按原样在excel文件中导出laravel nayjest表中的数据,

Imgur

但是导出后,这就是excel文件中显示的内容

Imgur

如您所见,原本应该位于多行中的数据现在位于一行中。

这是我当前拥有的代码。我正在使用ExcelExport将数据导出到文件中,

$cfg = (new GridConfig())
...
(new FieldConfig)
    ->setName('S_CODE')
    ->setLabel('Course Code')
    ->setCallback(function ($val, $row) {
        $stud_results = StudResult::where('SESSI', $sessi)
          ->where('SEMESTER', $semester)
          ->where('MATRIC_NO', $data->MATRIC_NO)
          ->get();
        global $currentStudResults;
                        $currentStudResults = $stud_results;
        $table = '<table>';
        foreach ($currentStudResults as $stud_result) {
          $table .= '<tr><td>'
          $table .= $stud_result->S_CODE;
          $table .= '</td></tr>';
          }

        $table = '</table>'
        return $table;
        })
,
...
->setComponents([
     (new THead)
         ->setComponents([
            (new OneCellRow)
                ->setRenderSection(RenderableRegistry::SECTION_END)
                ->setComponents([
                    new RecordsPerPage,
                    new ColumnsHider,
                    (new ExcelExport)
                        ->setFileName(strtoupper('Student Course History') . ' - ' . date('Y-m-d')),
                    (new HtmlTag)
                        ->setContent('<span class="glyphicon glyphicon-refresh"></span> Filter')
                        ->setTagName('button')
                        ->setRenderSection(RenderableRegistry::SECTION_END)
                        ->setAttributes([
                            'class' => 'btn btn-success btn-sm',
                         ]),
                  ]),
            (new ColumnHeadersRow),
            (new FiltersRow),
          ]),
       (new TFoot),
]);

这是在excel文件中的预期结果,

Imgur

是否可以重新格式化excel文件以跟踪我的输出?

1 个答案:

答案 0 :(得分:0)

我认为您可以通过在此处添加一些线路制动器来实现:

 foreach ($currentStudResults as $stud_result) {
          $table .= '<tr><td>'
          $table .= $stud_result->S_CODE.'</br>';
          $table .= '</td></tr>';
          }