https://laravelacademy.org/post/2024.html
这个是laravel 官方文档 当中有安装,使用的简单方法. 下面是用到的骚气写法
如果有看不懂私聊我给你详解,喷子自己看文档去
Excel::create($excel_name, function ($excel) use ($title,$data,$salary_types,$salary_types_sel) {
//这两个引入文件,是下拉框使用的 . (下拉框是指在某个表格中放入自己想要的数据)
require_once(base_path("/vendor/phpoffice/phpexcel/Classes/PHPExcel/NamedRange.php"));
require_once(base_path("/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DataValidation.php"));
$excel->sheet('sheet1', function ($sheet) use ($title,$salary_types,$salary_types_sel,$month_sel) {
$sheet->rows($title);
// $sheet->cell('A6', function($cell){ //默认值
// $cell->setValue('撒旦飞安抚');
// });
// $sheet->fromArray(array( //规定填充数据
// array('data1', 'data2'),
// array('data3', 'data4')
// ));
for ($i=1;$i<2000;$i++){ //下拉框
$objValidation = $sheet->getCell('B'.($i+1))->getDataValidation();
$objValidation->setType(\PHPExcel_Cell_DataValidation::TYPE_LIST);
$objValidation->setErrorStyle(\PHPExcel_Cell_DataValidation::STYLE_INFORMATION);
$objValidation->setAllowBlank(false);
$objValidation->setShowInputMessage(true);
$objValidation->setShowErrorMessage(true);
$objValidation->setShowDropDown(true);
$objValidation->setErrorTitle('输入误差');
$objValidation->setError('值不在列表中。');
$objValidation->setPromptTitle('从列表中挑选');
$objValidation->setPrompt('请从下拉列表中选择一个值。');
$objValidation->setFormula1('"'.$salary_types_sel.'"'); //'"1111,2222,3333,4444,5555"'
}
$sheet->setWidth(array( //宽度
'B' => 30,
'E' => 10
));
$sheet->cells("B18",function ($cells){ //计算和
$cells->setValue('=SUM(B2:B17)');
});
});
$excel->sheet('sheet2', function ($sheet) use ($salary_types) { //第二个(就是第二页)
$sheet->rows($salary_types);
});
$excel->sheet('sheet3', function ($sheet) use ($data) {//第三个(sheet3 名字可以自定义)
$sheet->rows($data);
});
})->export('xlsx');
本文原创,未经授权不得转载