common/utils/excel.go

34 lines
600 B
Go
Raw Normal View History

2024-03-20 17:44:03 +00:00
package utils
import (
"bytes"
"github.com/tealeg/xlsx"
)
func CreateExcel(headers []string, data map[int]string) (*bytes.Buffer, error) {
file := xlsx.NewFile()
sheet, err := file.AddSheet("sheet1")
if err != nil {
return nil, err
}
headerRow := sheet.AddRow()
for _, header := range headers {
cell := headerRow.AddCell()
cell.Value = header
}
dataRow := sheet.AddRow()
for i := 0; i < len(headers); i++ {
cell := dataRow.AddCell()
cell.Value = data[i]
}
buffer := new(bytes.Buffer)
if err := file.Write(buffer); err != nil {
return nil, err
}
return buffer, nil
}