forked from free-lancers/electricity_bill_calc_service
		
	fix(meter):修补表计抄表记录的模板导出。
This commit is contained in:
		| @@ -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 | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user