start_date = $start_date; $this->end_date = $end_date; } public function collection() { $start_date = $this->start_date; $end_date = $this->end_date; Log::info($start_date.'---'.$end_date); $orders = Order::with('refundOrders')->where('pay_status','PAID')->whereBetween('created_at', [$start_date, $end_date])->get(); $rows = [ ["深圳福恋智能信息科技有限公司 友福小程序会员收入明细表", '', '', '', '','','','',''], ['ID',"订单号", '商品名册好难过', '订单金额', '订单退款金额', '微信上手续费', '提现手续费', '订单时间', '月份'] ]; $sum = 0; foreach ($orders as $order) { $refund_price = $order->refundOrders->sum('refund_fee'); $sum += $order->price; $rows[] = [$order->id, $order->trade_no, $order->goods,$order->price, $refund_price, 0.006, 0, $order->created_at, date('m', strtotime($start_date))]; } return collect($rows); } public function registerEvents(): array { return [ AfterSheet::class => function(AfterSheet $event) { //设置列宽 $arr = ['B','C','D','E','F',"G","H",'I']; foreach ($arr as $value) { $event->sheet->getDelegate()->getColumnDimension($value)->setWidth(20); } //自动换行 $event->sheet->getStyle("A1:F1")->getAlignment()->setWrapText(TRUE); $event->sheet->getDelegate()->getRowDimension(1)->setRowHeight(50); // //设置行高,$i为数据行数 for ($i = 2; $i<=1265; $i++) { $event->sheet->getDelegate()->getRowDimension($i)->setRowHeight(30); } // //设置区域单元格垂直居中 $event->sheet->getDelegate()->getStyle('A1:K1265')->getAlignment()->setVertical('center'); // //设置区域单元格水平居中 $event->sheet->getDelegate()->getStyle('A1:K1265')->getAlignment()->setHorizontal('center'); //合并单元格 $event->sheet->getDelegate()->mergeCells('A1:I1'); } ]; } /** * @return string */ public function title(): string { return '友福小程序会员收入明细'; } }