#laravel-5 #maatwebsite-excel #laravel-excel
Вопрос:
Я использую Laravel Excel для экспорта excel с помощью larvel. Мне нужен выпадающий список с несколькими вариантами выбора.
use AppMyModel;
use MaatwebsiteExcelConcernsFromArray;
use MaatwebsiteExcelConcernsWithHeadings;
class MyModelExport implements FromArray, WithHeadings
{
public $rowCount = 0;
public function array(): array
{
$branches = MyModel::get([
"title",
"ranks",
]);
$data = [];
foreach ($items $key => $item) {
$data[$key]['title'] = $item->title;
$data[$key]['ranks'] = $item->ranks;
}
$this->rowCount = count($data);
return $data;
}
public function registerEvents(): array {
return [
AfterSheet::class => function(AfterSheet $event) {
/** @var Sheet $sheet */
$sheet = $event->sheet;
/**
* validation for bulkuploadsheet
*/
for($i=2; $i<=$this->rowCount 1; $i ){
$sheet->setCellValue('B'.$i, $sheet->getCell('B'.$i)->getValue());
$configs = "dis1, dis 2, dis 3";
$objValidation = $sheet->getCell('B'.$i)->getDataValidation();
$objValidation->setType(DataValidation::TYPE_LIST);
$objValidation->setErrorStyle(DataValidation::STYLE_INFORMATION);
$objValidation->setAllowBlank(false);
$objValidation->setShowInputMessage(true);
$objValidation->setShowErrorMessage(true);
$objValidation->setShowDropDown(true);
$objValidation->setErrorTitle('Input error');
$objValidation->setError('Value is not in list.');
$objValidation->setPromptTitle('Pick from list');
$objValidation->setPrompt('Please pick a rank from the drop-down list.');
$objValidation->setFormula1('"' . $configs . '"');
}
},
];
}
public function headings(): array
{
return [
'Title',
'Ranks'
];
}
}
Этот код дает выпадающее меню. Но что мне нужно, так это выпадающий список с несколькими вариантами выбора. Просто мне нужно выбрать несколько рангов в одной ячейке.