feat: excel data style

This commit is contained in:
2025-03-11 21:13:45 +07:00
parent ccfa27deff
commit 13f3e5bf29
11 changed files with 565 additions and 36 deletions

View File

@@ -86,6 +86,11 @@ func ExportEntityToSpreadsheet[T any](file *excelize.File, sheetName string, ent
return err
}
dataStyleId, err := LoadDataStyle(file)
if err != nil {
return err
}
// TODO: appearance
for i, item := range items {
structValue := reflect.ValueOf(item).Elem()
@@ -143,6 +148,11 @@ func ExportEntityToSpreadsheet[T any](file *excelize.File, sheetName string, ent
if err != nil {
return err
}
err = file.SetCellStyle(sheetName, cellName, cellName, dataStyleId)
if err != nil {
return err
}
}
}
}
@@ -299,42 +309,6 @@ func GetStyleId(f *excelize.File, style *excelize.Style) (int, error) {
return styleId, nil
}
func LoadHeadersStyle(file *excelize.File) (int, error) {
headersStyle := excelize.Style{
Alignment: &excelize.Alignment{
Horizontal: "center",
Vertical: "center",
},
Border: []excelize.Border{
{
Type: "left",
Color: "000000",
Style: 1,
},
{
Type: "right",
Color: "000000",
Style: 1,
},
{
Type: "top",
Color: "000000",
Style: 1,
},
{
Type: "bottom",
Color: "000000",
Style: 1,
},
},
Font: &excelize.Font{
Bold: true,
VertAlign: "center",
},
}
return GetStyleId(file, &headersStyle)
}
func ApplyStyleHeaders(file *excelize.File, sheetName string, headers TableHeaders) error {
styleId, err := LoadHeadersStyle(file)
if err != nil {