golang實(shí)現(xiàn)瀏覽器導(dǎo)出excel文件功能
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{"服務(wù)類型", "訂單號(hào)", "創(chuàng)建時(shí)間", "訂單類型", "訂單金額(元)", "訂單狀態(tài)", "原因"} 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先根據(jù)需求查詢需要的list對象
3.2新建文件,設(shè)置文件名,跟列名
3.3設(shè)置標(biāo)題單元格
3.4設(shè)置內(nèi)容單元格
3.5流媒體返回web
這個(gè)示例是沒有封裝過的,如果想要封裝,可以參考我的另一篇文章,下面是鏈接,喜歡小編的點(diǎn)點(diǎn)關(guān)注
到此這篇關(guān)于golang實(shí)現(xiàn)瀏覽器導(dǎo)出excel文件功能的文章就介紹到這了,更多相關(guān)golang excel文件導(dǎo)出內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Go語言模型:string的底層數(shù)據(jù)結(jié)構(gòu)與高效操作詳解
這篇文章主要介紹了Go語言模型:string的底層數(shù)據(jù)結(jié)構(gòu)與高效操作詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12go語言net包rpc遠(yuǎn)程調(diào)用的使用示例
本篇文章主要介紹了go語言net包rpc遠(yuǎn)程調(diào)用的使用示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-11golang給函數(shù)參數(shù)設(shè)置默認(rèn)值的幾種方式小結(jié)(函數(shù)參數(shù)默認(rèn)值
在日常開發(fā)中我們有時(shí)候需要使用默認(rèn)設(shè)置,下面這篇文章主要給大家介紹了關(guān)于golang給函數(shù)參數(shù)設(shè)置默認(rèn)值的幾種方式小結(jié)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01golang中實(shí)現(xiàn)給gif、png、jpeg圖片添加文字水印
這篇文章主要介紹了golang中實(shí)現(xiàn)給gif、png、jpeg圖片添加文字水印,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04golang HTTP 服務(wù)器 處理 日志/Stream流的操作
這篇文章主要介紹了golang HTTP 服務(wù)器 處理 日志/Stream流的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12GOPROXY:解決go get golang.org/x包失敗問題
這篇文章主要介紹了GOPROXY:解決go get golang.org/x包失敗問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01