multi-store/app/common/service/xlsx/Beforehand.php

51 lines
1.8 KiB
PHP
Raw Normal View History

<?php
namespace app\common\service\xlsx;
2024-10-09 10:40:43 +08:00
use PhpOffice\PhpWord\PhpWord;
use PhpOffice\PhpWord\Shared\Converter;
class Beforehand
{
public function export($data, $system_store)
{
// 创建一个新的PHPWord文档
$phpWord = new PhpWord();
// 添加一个节
$section = $phpWord->addSection(array(
'pageSizeW' => Converter::cmToTwip(4), // 宽度转换为twips
'pageSizeH' => Converter::cmToTwip(2), // 高度转换为twips
'marginLeft' => Converter::cmToTwip(0.2),
'marginRight' => Converter::cmToTwip(0),
'marginTop' => Converter::cmToTwip(0.2),
'marginBottom' => Converter::cmToTwip(0),
));
$fontStyle = ['name' => 'Arial', 'size' => 10, 'bold' => true];
$fontStyle1 = ['name' => 'Arial', 'size' => 8, 'bold' => true];
$fontStyle2 = ['name' => 'Arial', 'size' => 8, 'bold' => true];
$fontStyle3 = ['name' => 'Arial', 'size' => 8, 'bold' => true];
$count = count($data);
foreach ($data as $k => $v) {
$textRun = $section->addTextRun();
$textRun->addText($v['system_store'], $fontStyle);
$textRun->addText(' ' . $v['subtitle'], $fontStyle1);
$section->addText($v['store_name'], $fontStyle2);
$section->addText($v['address'], $fontStyle3);
if($k+1!=$count){
$section->addPageBreak();
}
}
2024-10-09 10:40:43 +08:00
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
$url = '/export/' . date('Y-m') . '/' . $system_store . '标签单-' . date('Y-m-d H:i') . '.docx';
$file_path = public_path() . $url;
// 保存文件到 public 下
2024-10-09 10:40:43 +08:00
$objWriter->save($file_path);
return getenv('APP_URL') . $url;
}
}