feat: excel data style
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user