From 0cffc1b6d18b0d6daf882994e09de813cc82ecd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E6=B6=9B?= Date: Tue, 13 Jun 2023 14:43:08 +0800 Subject: [PATCH] =?UTF-8?q?fix(meter):=E4=BF=AE=E8=A1=A5=E8=A1=A8=E8=AE=A1?= =?UTF-8?q?=E6=8A=84=E8=A1=A8=E8=AE=B0=E5=BD=95=E7=9A=84=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- excel/meter_reading.go | 28 ++++++++-------------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/excel/meter_reading.go b/excel/meter_reading.go index 69aaa40..082651f 100644 --- a/excel/meter_reading.go +++ b/excel/meter_reading.go @@ -89,7 +89,7 @@ func (g MeterReadingsExcelTemplateGenerator) WriteTemplateData(meters []*model.S return fmt.Errorf("未能设定标题行的高度,%w", err) } - dateTimeExp := "yyyy-mm-dd hh:mm;@" + dateTimeExp := "yyyy-mm-dd hh:mm" dateTimeColStyle, err := g.file.NewStyle(&excelize.Style{ CustomNumFmt: &dateTimeExp, }) @@ -97,9 +97,10 @@ func (g MeterReadingsExcelTemplateGenerator) WriteTemplateData(meters []*model.S g.log.Error("未能创建日期时间格式。", zap.Error(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{ CustomNumFmt: &numExp, }) @@ -107,21 +108,12 @@ func (g MeterReadingsExcelTemplateGenerator) WriteTemplateData(meters []*model.S g.log.Error("未能创建抄表数字格式。", zap.Error(err)) return fmt.Errorf("未能创建抄表数字格式,%w", err) } - g.file.SetCellStyle(defaultSheet, "F2", "J1048576", numColStyle) - - stream, err := g.file.NewStreamWriter(defaultSheet) - if err != nil { - g.log.Error("未能创建流式写入器。", zap.Error(err)) - return fmt.Errorf("未能创建流式写入器,%w", err) - } + endCellCoord, _ = excelize.CoordinatesToCellName(9, len(meters)+1) + g.file.SetCellStyle(defaultSheet, "F2", endCellCoord, numColStyle) for i, meter := range meters { - startCell, err := excelize.CoordinatesToCellName(1, i+2) - if err != nil { - g.log.Error("未能定位输出数据的起始单元格。", zap.Error(err)) - return fmt.Errorf("未能定位输出数据的起始单元格,%w", err) - } - if err := stream.SetRow(startCell, []interface{}{ + cellCoord, _ := excelize.CoordinatesToCellName(1, i+2) + if err := g.file.SetSheetRow(defaultSheet, cellCoord, &[]interface{}{ meter.Seq, "", meter.Code, @@ -133,10 +125,6 @@ func (g MeterReadingsExcelTemplateGenerator) WriteTemplateData(meters []*model.S return fmt.Errorf("向模板写入数据出现错误,%w", err) } } - if err = stream.Flush(); err != nil { - g.log.Error("未能刷新流式写入器。", zap.Error(err)) - return fmt.Errorf("未能刷新流式写入器,%w", err) - } return err }