fix(meter):修补表计抄表记录的模板导出。

This commit is contained in:
徐涛 2023-06-13 14:43:08 +08:00
parent ef325aede5
commit 0cffc1b6d1

View File

@ -89,7 +89,7 @@ func (g MeterReadingsExcelTemplateGenerator) WriteTemplateData(meters []*model.S
return fmt.Errorf("未能设定标题行的高度,%w", err) return fmt.Errorf("未能设定标题行的高度,%w", err)
} }
dateTimeExp := "yyyy-mm-dd hh:mm;@" dateTimeExp := "yyyy-mm-dd hh:mm"
dateTimeColStyle, err := g.file.NewStyle(&excelize.Style{ dateTimeColStyle, err := g.file.NewStyle(&excelize.Style{
CustomNumFmt: &dateTimeExp, CustomNumFmt: &dateTimeExp,
}) })
@ -97,9 +97,10 @@ func (g MeterReadingsExcelTemplateGenerator) WriteTemplateData(meters []*model.S
g.log.Error("未能创建日期时间格式。", zap.Error(err)) g.log.Error("未能创建日期时间格式。", zap.Error(err))
return fmt.Errorf("未能创建日期时间格式,%w", err) return fmt.Errorf("未能创建日期时间格式,%w", err)
} }
g.file.SetCellStyle(defaultSheet, "B2", "B1048576", dateTimeColStyle) endCellCoord, _ := excelize.CoordinatesToCellName(2, len(meters)+1)
g.file.SetCellStyle(defaultSheet, "B2", endCellCoord, dateTimeColStyle)
numExp := "0.0000;@" numExp := "0.0000"
numColStyle, err := g.file.NewStyle(&excelize.Style{ numColStyle, err := g.file.NewStyle(&excelize.Style{
CustomNumFmt: &numExp, CustomNumFmt: &numExp,
}) })
@ -107,21 +108,12 @@ func (g MeterReadingsExcelTemplateGenerator) WriteTemplateData(meters []*model.S
g.log.Error("未能创建抄表数字格式。", zap.Error(err)) g.log.Error("未能创建抄表数字格式。", zap.Error(err))
return fmt.Errorf("未能创建抄表数字格式,%w", err) return fmt.Errorf("未能创建抄表数字格式,%w", err)
} }
g.file.SetCellStyle(defaultSheet, "F2", "J1048576", numColStyle) endCellCoord, _ = excelize.CoordinatesToCellName(9, len(meters)+1)
g.file.SetCellStyle(defaultSheet, "F2", endCellCoord, numColStyle)
stream, err := g.file.NewStreamWriter(defaultSheet)
if err != nil {
g.log.Error("未能创建流式写入器。", zap.Error(err))
return fmt.Errorf("未能创建流式写入器,%w", err)
}
for i, meter := range meters { for i, meter := range meters {
startCell, err := excelize.CoordinatesToCellName(1, i+2) cellCoord, _ := excelize.CoordinatesToCellName(1, i+2)
if err != nil { if err := g.file.SetSheetRow(defaultSheet, cellCoord, &[]interface{}{
g.log.Error("未能定位输出数据的起始单元格。", zap.Error(err))
return fmt.Errorf("未能定位输出数据的起始单元格,%w", err)
}
if err := stream.SetRow(startCell, []interface{}{
meter.Seq, meter.Seq,
"", "",
meter.Code, meter.Code,
@ -133,10 +125,6 @@ func (g MeterReadingsExcelTemplateGenerator) WriteTemplateData(meters []*model.S
return fmt.Errorf("向模板写入数据出现错误,%w", err) return fmt.Errorf("向模板写入数据出现错误,%w", err)
} }
} }
if err = stream.Flush(); err != nil {
g.log.Error("未能刷新流式写入器。", zap.Error(err))
return fmt.Errorf("未能刷新流式写入器,%w", err)
}
return err return err
} }