

[2024-03-14 07:42:24] local.INFO: row [1,12]
[2024-03-14 07:42:24] local.INFO: row [1,17]
[2024-03-14 07:42:24] local.INFO: row [2,12]
[2024-03-14 07:42:24] local.INFO: row [2,17]
[2024-03-14 07:42:24] local.INFO: row [3,12]
[2024-03-14 07:42:24] local.INFO: row [3,17]
[2024-03-14 07:42:24] local.INFO: row [4,12]
[2024-03-14 07:42:24] local.INFO: row [4,17]
[2024-03-14 07:42:24] local.INFO: row [5,12]
[2024-03-14 07:42:24] local.INFO: row [5,17]
[2024-03-14 07:42:24] local.INFO: row [6,12]
[2024-03-14 07:42:24] local.INFO: row [6,17]
[2024-03-14 07:42:24] local.INFO: row [7,12]
[2024-03-14 07:42:24] local.INFO: row [7,17]
[2024-03-14 07:42:24] local.INFO: row [8,12]
[2024-03-14 07:42:24] local.INFO: row [8,17]
[2024-03-14 07:42:24] local.INFO: row [9,12]
[2024-03-14 07:42:24] local.INFO: row [9,17]
[2024-03-14 07:42:24] local.INFO: row [10,12]
[2024-03-14 07:42:24] local.INFO: row [10,17]
[2024-03-14 07:42:24] local.INFO: row [11,12]
[2024-03-14 07:42:24] local.INFO: row [11,17]
[2024-03-14 07:42:24] local.INFO: row [12,12]
[2024-03-14 07:42:24] local.INFO: row [12,17]
[2024-03-14 07:42:24] local.INFO: row [13,12]
[2024-03-14 07:42:24] local.INFO: row [13,17]
[2024-03-14 07:42:24] local.INFO: row [14,12]
[2024-03-14 07:42:24] local.INFO: row [14,17]
[2024-03-14 07:42:24] local.INFO: row [15,12]
[2024-03-14 07:42:24] local.INFO: row [15,17]
[2024-03-14 07:42:24] local.INFO: row [16,12]
[2024-03-14 07:42:24] local.INFO: row [16,17]
[2024-03-14 07:42:24] local.INFO: row [17,12]
[2024-03-14 07:42:24] local.INFO: row [17,17]
[2024-03-14 07:42:24] local.INFO: row [18,12]
[2024-03-14 07:42:24] local.INFO: row [18,17]
[2024-03-14 07:42:24] local.INFO: row [19,12]
[2024-03-14 07:42:24] local.INFO: row [19,17]
[2024-03-14 07:42:24] local.INFO: row [20,12]
[2024-03-14 07:42:24] local.INFO: row [20,17]

Log::info(
'$dateData',
$dateData
);
foreach ($dateData as $rowDateData) {
$excel->setDate($rowDateData['row'], $rowDateData['column'], $rowDateData['timestamp']);
}
public function setDate(int $row, int $column, $timestamp, $formatData = 'yyyy/m/d hh:mm:ss')
{
$this->excel->insertDate($row, $column, (int)$timestamp, $formatData);
return $this;
}
[
{
"row": 1,
"column": 12,
"timestamp": 1710243567
},
{
"row": 1,
"column": 17,
"timestamp": 1710243389
},
{
"row": 2,
"column": 12,
"timestamp": 1710235546
},
{
"row": 2,
"column": 17,
"timestamp": 1710235540
},
{
"row": 3,
"column": 12,
"timestamp": 1710186421
},
{
"row": 3,
"column": 17,
"timestamp": 1710186418
},
{
"row": 4,
"column": 12,
"timestamp": 1710186130
},
{
"row": 4,
"column": 17,
"timestamp": 1710186126
},
{
"row": 5,
"column": 12,
"timestamp": 1710186131
},
{
"row": 5,
"column": 17,
"timestamp": 1710186126
},
{
"row": 6,
"column": 12,
"timestamp": 1710186131
},
{
"row": 6,
"column": 17,
"timestamp": 1710186126
}
]
$columns = $params['readShop'] ? [12, 17] : [10, 15];
foreach ($orderShippingLogs as $rowKey => $orderShippingLog) {
$data = static::toResource($orderShippingLog, $params['timezone']);
foreach ($columns as $column) {
Log::info(
'row',
[$rowKey + $total, $column, $data[$column]]
);
$excel->setDate($rowKey + $total, $column, strtotime($data[$column]));
$data[$column] = null;
}
$excel->writeRows([$data]);
// $data[] = static::toResource($orderShippingLog, $params['timezone']);
}
// $excel->writeRows($data);


/*
* [['range' => 'A1:A1', 'width' => 7], ['range' => 'B1:B1', 'width' => 7], ...]
*/
$this->columns = $columns;
/**
* 当 Excel 文件生成完毕后,设置一些列的整列的样式
*
* @param array $columns 列序号,其必须存在于 $this->columns 的键中
* [12, 17]
* @param string $formatData
* @return void
*/
public function setSomeColumnStyle(array $columns, string $formatData = 'yyyy/m/d hh:mm:ss')
{
$fileHandle = $this->excel->getHandle();
$format = new \Vtiful\Kernel\Format($fileHandle);
$boldStyle = $format->number($formatData)->align(Format::FORMAT_ALIGN_RIGHT)->toResource();
foreach ($columns as $column) {
$this->excel->setColumn($this->columns[$column]['range'], $this->columns[$column]['width'], $boldStyle);
}
return $this;
}
$excel->setSomeColumnStyle($columns);
/**
* 当 Excel 文件数据完全写入后,设置一些列的整列的样式
*
* @param array $columns 列序号,其必须存在于 $this->columns 的键中
* [12, 17]
* @param string $formatData
* @return void
*/
public function setSomeColumnStyle(array $columns, string $formatData = 'yyyy/m/d hh:mm:ss')
{
$fileHandle = $this->excel->getHandle();
$format = new \Vtiful\Kernel\Format($fileHandle);
$boldStyle = $format->number($formatData)->align(Format::FORMAT_ALIGN_RIGHT)->toResource();
foreach ($columns as $column) {
$this->excel->setColumn($this->columns[$column]['range'], $this->columns[$column]['width'], $boldStyle);
}
// 由于时间格式列需要居右,进而导致了整列居右,需要将第一行重新设置为居左
$headerFormat = new \Vtiful\Kernel\Format($fileHandle);
$headerStyle = $headerFormat->align(Format::FORMAT_ALIGN_LEFT)->toResource();
$this->excel->setRow('A1', 15, $headerStyle);
return $this;
}

需要长期技术维护或远程问题排查?
我是拥有 15+ 年经验的 PHP / Go 后端工程师,长期关注已有系统维护、Bug 修复、性能优化、服务器排查、WordPress 网站维护和小功能迭代。
如果你的项目遇到以下情况,可以先从一次小问题排查开始合作:
- ✅ PHP / Laravel / Yii2 老项目无人维护
- ✅ Go / Gin 后端接口需要排查或优化
- ✅ WordPress 网站访问慢、报错或插件冲突
- ✅ Nginx / MySQL / Redis / Linux 服务器异常
- ✅ CDN / Cloudflare / DNS / HTTPS 配置问题
- ✅ 需要长期远程技术支持或兼职维护
更多介绍请查看:关于我 & 合作
微信:13980074657
邮箱:shuijingwanwq@gmail.com
Telegram:@shuijingwan
GitHub:https://github.com/shuijingwan

发表回复