From 88a0fe7e58a4792341cffcdaf0f3abf63b6e408d Mon Sep 17 00:00:00 2001 From: Pavel Date: Wed, 20 Mar 2024 20:44:03 +0300 Subject: [PATCH] add create excel util --- utils/excel.go | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 utils/excel.go 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 +}