multi-store/app/common/service/xlsx/Beforehand.php
mkm 16634f5b76 新增仓库订单标签导出功能并优化xlsx生成样式
- 在WarehouseOrderController中添加export_tags方法,实现标签导出功能
- 修改Beforehand服务类,优化xlsx文件的样式和合并单元格逻辑
2024-10-08 17:57:07 +08:00

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;
}
}