我一直在使用Laravel Excel以 csv 格式导出数据,到目前为止效果很好。现在我需要以 xlsx 格式导出,以便可以在某些列中包含下拉列表。我看过这个问题,但看起来这是针对旧版本的 Laravel Excel。我还查看了文档中解释扩展包的页面,但我似乎无法弄清楚如何在导出数据时将下拉列表添加到列中。
这是我的导出类的简化版本:
namespace App\Exports;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithHeadings;
use Maatwebsite\Excel\Concerns\WithStrictNullComparison;
class ActionItemExport implements FromCollection, WithHeadings, WithStrictNullComparison
{
public function collection()
{
return $this->getActionItems();
}
public function headings(): array
{
$columns = [
'Column 1',
'Column 2',
'Column 3',
'Column 4',
'Column 5',
'Column 6',
'Column 7'
];
return $columns;
}
private function getActionItems()
{
$select = 'column1, column2, column3, column4, column5, column6, column7';
$query = \DB::table('action_items')->select(\DB::raw($select));
$query->whereNull('action_items.deleted_at');
$ai = $query->orderBy('column1')->get();
return $ai;
}
}
我想做的是查询具有 column1 选项的查找表,并将这些值用于列中的下拉列表,以便当用户想要更改 Excel 工作表时,它们仅限于下拉值.
在文档中它提到使用\Maatwebsite\Excel\Sheetor \Maatwebsite\Excel\Writer,但我什至不确定在哪里使用它们,或者使用哪个。
在我的搜索过程中,我似乎无法拼凑出一个解决方案,因此我们将不胜感激。
我在用着:
maatwebsite/excel 3.1、php 7.2、laravel 5.8
呼啦一阵风
沧海一幻觉
随时随地看视频慕课网APP