Go 語言讀寫 Excel

      網友投稿 771 2025-04-03

      Excelize 是 Go 語言編寫的一個用來操作 Office Excel 文檔類庫,基于 ECMA-376 Office OpenXML 標準。可以使用它來讀取、寫入 XLSX 文件。相比較其他的開源類庫,Excelize 支持寫入原本帶有圖片(表)的文檔,還支持向 Excel 中插入圖片,并且在保存后不會丟失圖表樣式,可以應用在各種報表系統中。

      項目主頁 github.com/360EntSecGroup-Skylar/excelize

      安裝

      go?get?github.com/360EntSecGroup-Skylar/excelize

      創建 XLSX

      package?main import?( ????"fmt" ????"github.com/360EntSecGroup-Skylar/excelize" ) func?main()?{ ????xlsx?:=?excelize.NewFile() ????//?Create?a?new?sheet. ????index?:=?xlsx.NewSheet("Sheet2") ????//?Set?value?of?a?cell. ????xlsx.SetCellValue("Sheet2",?"A2",?"Hello?world.") ????xlsx.SetCellValue("Sheet1",?"B2",?100) ????//?Set?active?sheet?of?the?workbook. ????xlsx.SetActiveSheet(index) ????//?Save?xlsx?file?by?the?given?path. ????err?:=?xlsx.SaveAs("./Book1.xlsx") ????if?err?!=?nil?{ ????????fmt.Println(err) ????} }

      讀寫已有文檔

      package?main import?( ????"fmt" ????"github.com/360EntSecGroup-Skylar/excelize" ) func?main()?{ ????xlsx,?err?:=?excelize.OpenFile("./Book1.xlsx") ????if?err?!=?nil?{ ????????fmt.Println(err) ????????return ????} ????//?Get?value?from?cell?by?given?worksheet?name?and?axis. ????cell?:=?xlsx.GetCellValue("Sheet1",?"B2") ????fmt.Println(cell) ????//?Get?all?the?rows?in?the?Sheet1. ????rows?:=?xlsx.GetRows("Sheet1") ????for?_,?row?:=?range?rows?{ ????????for?_,?colCell?:=?range?row?{ ????????????fmt.Print(colCell,?"\t") ????????} ????????fmt.Println() ????} }

      向 Excel 中插入圖表

      Go 語言讀寫 Excel

      package?main import?( ????"fmt" ????"github.com/360EntSecGroup-Skylar/excelize" ) func?main()?{ ????categories?:=?map[string]string{"A2":?"Small",?"A3":?"Normal",?"A4":?"Large",?"B1":?"Apple",?"C1":?"Orange",?"D1":?"Pear"} ????values?:=?map[string]int{"B2":?2,?"C2":?3,?"D2":?3,?"B3":?5,?"C3":?2,?"D3":?4,?"B4":?6,?"C4":?7,?"D4":?8} ????xlsx?:=?excelize.NewFile() ????for?k,?v?:=?range?categories?{ ????????xlsx.SetCellValue("Sheet1",?k,?v) ????} ????for?k,?v?:=?range?values?{ ????????xlsx.SetCellValue("Sheet1",?k,?v) ????} ????xlsx.AddChart("Sheet1",?"E1",?`{"type":"col3DClustered","series":[{"name":"Sheet1!$A","categories":"Sheet1!$B:$D","values":"Sheet1!$B:$D"},{"name":"Sheet1!$A","categories":"Sheet1!$B:$D","values":"Sheet1!$B:$D"},{"name":"Sheet1!$A","categories":"Sheet1!$B:$D","values":"Sheet1!$B:$D"}],"title":{"name":"Fruit?3D?Clustered?Column?Chart"}}`) ????//?Save?xlsx?file?by?the?given?path. ????err?:=?xlsx.SaveAs("./Book1.xlsx") ????if?err?!=?nil?{ ????????fmt.Println(err) ????} }

      向 Excel 中插入圖片

      package?main import?( ????"fmt" ????_?"image/gif" ????_?"image/jpeg" ????_?"image/png" ????"github.com/360EntSecGroup-Skylar/excelize" ) func?main()?{ ????xlsx,?err?:=?excelize.OpenFile("./Book1.xlsx") ????if?err?!=?nil?{ ????????fmt.Println(err) ????????return ????} ????//?Insert?a?picture. ????err?=?xlsx.AddPicture("Sheet1",?"A2",?"./image1.png",?"") ????if?err?!=?nil?{ ????????fmt.Println(err) ????} ????//?Insert?a?picture?to?worksheet?with?scaling. ????err?=?xlsx.AddPicture("Sheet1",?"D2",?"./image2.jpg",?`{"x_scale":?0.5,?"y_scale":?0.5}`) ????if?err?!=?nil?{ ????????fmt.Println(err) ????} ????//?Insert?a?picture?offset?in?the?cell?with?printing?support. ????err?=?xlsx.AddPicture("Sheet1",?"H2",?"./image3.gif",?`{"x_offset":?15,?"y_offset":?10,?"print_obj":?true,?"lock_aspect_ratio":?false,?"locked":?false}`) ????if?err?!=?nil?{ ????????fmt.Println(err) ????} ????//?Save?the?xlsx?file?with?the?origin?path. ????err?=?xlsx.Save() ????if?err?!=?nil?{ ????????fmt.Println(err) ????} }

      還有其他一些功能,在這里就不一一列舉了,詳細使用文檔以及獲取后期的維護更新可以從項目的主頁獲取

      github.com/360EntSecGroup-Skylar/excelize

      Go

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:excel表格護眼模式如何設置
      下一篇:office 2007中Excel怎么同時顯示兩個窗口
      相關文章
      91情国产l精品国产亚洲区| 亚洲精品成人无限看| 久久亚洲中文字幕精品有坂深雪| 亚洲色中文字幕无码AV| 亚洲中文无韩国r级电影| 亚洲精品岛国片在线观看| 日韩精品亚洲专区在线观看| 亚洲精品无码国产片| 亚洲色欲色欱wwW在线| 亚洲日韩AV一区二区三区中文| 亚洲成人激情小说| 在线精品亚洲一区二区| 亚洲成_人网站图片| 中国亚洲呦女专区| MM1313亚洲精品无码久久| 亚洲第一区在线观看| 亚洲国产精品无码久久九九| 亚洲精品WWW久久久久久| 亚洲综合国产精品第一页| 亚洲综合图色40p| 久久精品国产亚洲综合色| 亚洲AV永久青草无码精品| 亚洲欧洲第一a在线观看| 777亚洲精品乱码久久久久久| 久久久亚洲裙底偷窥综合| 亚洲性69影院在线观看| 亚洲香蕉久久一区二区| 亚洲欧洲国产综合AV无码久久| 亚洲aⅴ无码专区在线观看春色| mm1313亚洲精品国产| 国产亚洲成归v人片在线观看| 亚洲日韩aⅴ在线视频| 亚洲AV无码日韩AV无码导航| 777亚洲精品乱码久久久久久| 亚洲国产成人久久三区| 亚洲一久久久久久久久| 无码专区一va亚洲v专区在线 | 国产午夜亚洲不卡| 久久国产亚洲电影天堂| 亚洲午夜电影一区二区三区| 亚洲日韩精品无码AV海量|