diff --git a/utils/excel.go b/utils/excel.go new file mode 100644 index 0000000..a69d5cc --- /dev/null +++ b/utils/excel.go @@ -0,0 +1,33 @@ +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 +}