ExcelExport.php 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. namespace App\Exports;
  3. use App\Models\User;
  4. use Illuminate\Support\Facades\Log;
  5. use Maatwebsite\Excel\Concerns\FromCollection;
  6. use Maatwebsite\Excel\Concerns\WithEvents;
  7. use Maatwebsite\Excel\Concerns\WithHeadings;
  8. use Maatwebsite\Excel\Concerns\WithTitle;
  9. use Maatwebsite\Excel\Events\AfterSheet;
  10. class ExcelExport implements FromCollection, WithHeadings, WithEvents
  11. {
  12. public function collection()
  13. {
  14. return collect(
  15. [
  16. ['2024年9月', '艳霞', '156****9339', '38', 0, '38', '20', '760', '小温', '133****3328', '批发商'],
  17. ['2024年9月', '艳霞', '156****9339', '38', 0, '38', '20', '760', '小温', '133****3328', '批发商'],
  18. ['2024年9月', '艳霞', '156****9339', '38', 0, '38', '20', '760', '小温', '133****3328', '批发商'],
  19. ['2024年9月', '艳霞', '156****9339', '38', 0, '38', '20', '760', '小温', '133****3328', '批发商'],
  20. ['2024年9月', '艳霞', '156****9339', '38', 0, '38', '20', '760', '小温', '133****3328', '批发商'],
  21. ]
  22. );
  23. }
  24. public function headings(): array
  25. {
  26. return ['进货月份', '进货人(批发商)昵称', '进货人(批发商)手机号', '半醉浓香型件数', '半醉酱香型件数',
  27. '件数合计',
  28. '每件补助',
  29. '补助金额',
  30. '补助接收者昵称',
  31. '补助接收者手机号',
  32. '补助接收者身份']
  33. ;
  34. }
  35. public function registerEvents(): array
  36. {
  37. return [
  38. AfterSheet::class => function(AfterSheet $event) {
  39. // 合并单元格,从 A1 到 C1
  40. $sheet = $event->sheet;
  41. // $sheet->mergeCells('A1:C1');
  42. // $sheet->setCellValue('A1','ID');
  43. //
  44. //
  45. // // 设置字体加粗、居中等样式
  46. // $sheet->getStyle('A1')->getFont()->setBold(true);
  47. // $sheet->getStyle('A1')->getAlignment()->setHorizontal('center');
  48. //
  49. // $sheet->mergeCells('D1:E1');
  50. // $sheet->setCellValue('D1','Name');
  51. //
  52. // // 设置字体加粗、居中等样式
  53. // $sheet->getStyle('B1')->getFont()->setBold(true);
  54. // $sheet->getStyle('B1')->getAlignment()->setHorizontal('center');
  55. //
  56. // $sheet->mergeCells('F1:G1');
  57. // $sheet->setCellValue('C1','Email');
  58. //
  59. //
  60. // // 设置字体加粗、居中等样式
  61. // $sheet->getStyle('C1')->getFont()->setBold(true);
  62. // $sheet->getStyle('C1')->getAlignment()->setHorizontal('center');
  63. // 设置列宽根据内容自适应
  64. // $time=time();
  65. // Log::error($time);
  66. // foreach (range('A', 'C') as $column) {
  67. //// Log::error(time()-$time);
  68. // $sheet->getColumnDimension($column)->setAutoSize(true);
  69. // }
  70. // $sheet->getColumnDimension('B')->setAutoSize(true);
  71. // $sheet->getColumnDimension('A:K')->setWidth(20);
  72. },
  73. ];
  74. }
  75. }