Posted in Golang onMarch 25, 2022
1.依赖包
import (
"github.com/tealeg/xlsx"
)
2.示例
func (o *orderController) Export(request *restful.Request, response *restful.Response) {
username := request.Attribute(filters.UserName).(string)
orderService := service.NewOrderService(o.Db)
orders, _ := orderService.ListUserOrders(username)
file := xlsx.NewFile()
sheet, _ := file.AddSheet("订单信息")
titles := []string{"服务类型", "订单号", "创建时间", "订单类型", "订单金额(元)", "订单状态", "原因"}
row := sheet.AddRow()
var cell *xlsx.Cell
for _, title := range titles {
cell = row.AddCell()
cell.Value = title
}
for _, order := range *orders {
values := []string{
getServiceTypeStr(*order.ServiceType),
order.Id,
order.CreateTime.Format("2006-01-02 15:04:05"),
getOrderTypeStr(*order.OrderType),
"1",
getOrderStatusStr(*order.Status),
order.Reason,
}
row = sheet.AddRow()
for _, value := range values {
cell = row.AddCell()
cell.Value = value
}
}
filename := "订单信息" + ".xlsx"
response.AddHeader("Content-Type", "application/octet-stream")
response.AddHeader("Content-Disposition", "attachment; filename="+filename)
response.AddHeader("Content-Transfer-Encoding", "binary")
//回写到web 流媒体 形成下载
_ = file.Write(response.ResponseWriter)
}
3.分析
3.1先根据需求查询需要的list对象
3.2新建文件,设置文件名,跟列名
3.3设置标题单元格
3.4设置内容单元格
3.5流媒体返回web
这个示例是没有封装过的,如果想要封装,可以参考我的另一篇文章,下面是链接,喜欢小编的点点关注
到此这篇关于golang实现浏览器导出excel文件功能的文章就介绍到这了,更多相关golang excel文件导出内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!
golang实现浏览器导出excel文件功能
- Author -
峰啊疯了- Original Sources -
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@