- 在WarehouseOrderController中添加export_tags方法,实现标签导出功能 - 修改Beforehand服务类,优化xlsx文件的样式和合并单元格逻辑
44 lines
1.5 KiB
PHP
44 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace app\common\service\xlsx;
|
|
|
|
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
|
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
|
|
|
class Beforehand
|
|
{
|
|
public function export($data,$system_store)
|
|
{
|
|
$spreadsheet = new Spreadsheet();
|
|
$sheet = $spreadsheet->getActiveSheet();
|
|
|
|
// 合并单元格A1到K1
|
|
$kk1=1;
|
|
$kk2=2;
|
|
$kk3=3;
|
|
$styleArray = [
|
|
'font' => [
|
|
'bold' => true,
|
|
'size' => 14,
|
|
],
|
|
];
|
|
foreach ($data as $k => $v) {
|
|
$sheet->mergeCells('A'. ($k + $kk1).':B'.($k + $kk1));
|
|
$sheet->setCellValue('A' . ($k + $kk1), $v['system_store'])->getStyle('A'. ($k + $kk1))->applyFromArray($styleArray);
|
|
$sheet->mergeCells('A'. ($k + $kk2).':B'.($k + $kk2));
|
|
$sheet->setCellValue('A' . ($k + $kk2), $v['store_name'])->getStyle('A'. ($k + $kk2))->applyFromArray($styleArray);
|
|
$sheet->mergeCells('A'. ($k + $kk3).':B'.($k + $kk3));
|
|
$sheet->setCellValue('A' . ($k + $kk3), $v['unit_name'])->getStyle('A'. ($k + $kk3))->applyFromArray($styleArray);
|
|
$kk1=$kk1+2;
|
|
$kk2=$kk2+2;
|
|
$kk3=$kk3+2;
|
|
}
|
|
$writer = new Xlsx($spreadsheet);
|
|
$url = '/export/' . date('Y-m') . '/' . $system_store.'标签单-'.date('Y-m-d H:i') . '.xlsx';
|
|
$file_path = public_path() . $url;
|
|
// 保存文件到 public 下
|
|
$writer->save($file_path);
|
|
return getenv('APP_URL').$url;
|
|
}
|
|
}
|