日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

Go 语言读写 Excel

發(fā)布時(shí)間:2025/7/14 86 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Go 语言读写 Excel 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Excelize 是?Go 語(yǔ)言編寫的一個(gè)用來(lái)操作 Office Excel 文檔類庫(kù),基于 ECMA-376 Office OpenXML 標(biāo)準(zhǔn)。可以使用它來(lái)讀取、寫入 XLSX 文件。相比較其他的開(kāi)源類庫(kù),Excelize 支持寫入原本帶有圖片(表)的文檔,還支持向 Excel 中插入圖片,并且在保存后不會(huì)丟失圖表樣式。

安裝

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

創(chuàng)建 XLSX

package mainimport ("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 mainimport ("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 中插入圖表

package mainimport ("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$2","categories":"Sheet1!$B$1:$D$1","values":"Sheet1!$B$2:$D$2"},{"name":"Sheet1!$A$3","categories":"Sheet1!$B$1:$D$1","values":"Sheet1!$B$3:$D$3"},{"name":"Sheet1!$A$4","categories":"Sheet1!$B$1:$D$1","values":"Sheet1!$B$4:$D$4"}],"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 mainimport ("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)} }

還有其他一些功能,在這里就不一一列舉了,詳細(xì)使用文檔以及獲取后期的維護(hù)更新可以從項(xiàng)目的主頁(yè)獲取

github.com/360EntSecGroup-Skylar/excelize

總結(jié)

以上是生活随笔為你收集整理的Go 语言读写 Excel的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。