func (this *Index) Export(){
// 列标题
titles := []string{
"姓名","年龄","订单号","时间",
}
// 列单元
cells := []string{
"A","B","C","D",
}
// 数据源
data := []map[string]interface{}{
map[string]interface{}{"name":"jack","age":18,"order_no":"2020210","time":"2020-12-12"},
map[string]interface{}{"name":"mary","age":28,"order_no":"30302002","time":"2020-12-12"},
}
f := excelize.NewFile()
// 新建工作簿
index := f.NewSheet("Sheet1")
//列标题赋值
for clumn,v := range titles {
f.SetCellValue("Sheet1", cells[clumn]+"1",v)
}
for lineNum,v := range data {
//行数 lineNum
//行内容 v
clumnNum := 0 //列数
for _,vv := range v{
sheetPosition := cells[clumnNum]+strconv.Itoa(lineNum+2)
switch vv.(type) {
case string:
f.SetCellValue("Sheet1", sheetPosition,vv.(string))
break
case int:
f.SetCellValue("Sheet1", sheetPosition,vv.(int))
break
case float64:
f.SetCellValue("Sheet1", sheetPosition,vv.(float64))
break
}
clumnNum++;
}
}
f.SetActiveSheet(index)
//保存为文件
f.Path="static/file/订单表.xlsx"
if err := f.Save(); err != nil {
fmt.Println(err)
}
this.Ctx.Output.Download(f.Path,"订单表.xlsx")
}
beego导出Excel文件
最新推荐文章于 2023-10-08 08:39:19 发布