package utils
import (
"io"
"time"
"github.com/xuri/excelize/v2"
)
// ExportExcel 函数用于导出Excel文件
// header表示表头数据
// data表示表格数据
// buff返回的io.Reader对象,表示写入的Excel文件
// err表示函数执行过程中遇到的错误
func ExportExcel(header []string, data [][]interface{}) (buff io.Reader, err error) {
file := excelize.NewFile()
sheetName := time.Now().Format("2006-01-02")
index, _ := file.NewSheet(sheetName)
for i, v := range header {
cell, _ := excelize.CoordinatesToCellName(i+1, 1)
_ = file.SetCellValue(sheetName, cell, v)
}
for i, v := range data {
for j, vv := range v {
cell, _ := excelize.CoordinatesToCellName(j+1, i+2)
_ = file.SetCellValue(sheetName, cell, vv)
}
}
file.SetActiveSheet(index)
buff, _ = file.WriteToBuffer()
return
}