代码使用了第三方excel包
go get github.com/xuri/excelize/v2
直接上代码
import (
"github.com/xuri/excelize/v2"
"log"
"net/http"
)
func main() {
http.HandleFunc("/", index)
err := http.ListenAndServe(":9090", nil)
if err != nil {
log.Fatal("ListenAndServe: ", err)
}
}
func index(w http.ResponseWriter, r *http.Request) {
// 文件名
fileName := "demo.xlsx"
// 创建excel文件 (第三方excel包)
file := excelize.NewFile()
// 填充数据
index := file.NewSheet("Sheet1")
_ = file.SetCellValue("Sheet1", "A1", "Hello world.")
_ = file.SetCellValue("Sheet1", "B1", 100)
file.SetActiveSheet(index)
// 设置header头
w.Header().Add("Content-Disposition","attachment; filename=" + fileName)
w.Header().Add("Content-Type", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
// 写入字节数据
_ = file.Write(w)
}
运行测试请求http://127.0.0.1:9090即可。