Go語(yǔ)言操作Excel利器之excelize類庫(kù)詳解
前言
在開(kāi)發(fā)中一些需求需要通過(guò)程序操作excel文檔,例如導(dǎo)出excel、導(dǎo)入excel、向excel文檔中插入圖片、表格和圖表等信息,使用Excelize就可以方便的滿足上述需求,本文主要總結(jié)一下Excelize的使用,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
Excelize簡(jiǎn)介
Excelize是Go語(yǔ)言編寫的一個(gè)用來(lái)操作Office Excel文檔類庫(kù),可以使用它來(lái)讀取、寫入Excel文件,還支持向Excel中插入圖片、圖標(biāo)、以及工具函數(shù)等,功能相對(duì)比較齊全,對(duì)于基本的需求完全夠用,廢話不多說(shuō),直接開(kāi)干。
安裝
go get github.com/xuri/excelize # 如果你是通過(guò)Go Module管理的包,執(zhí)行以下安裝 go get github.com/xuri/excelize/v2
導(dǎo)出 Excel 文檔
package main
import (
"fmt"
"github.com/xuri/excelize/v2"
)
func main() {
f := excelize.NewFile()
// 創(chuàng)建一個(gè)工作表
index := f.NewSheet("Sheet2")
// 設(shè)置單元格的值
f.SetCellValue("Sheet2", "A2", "Hello world.")
f.SetCellValue("Sheet1", "B2", 100)
// 設(shè)置工作簿的默認(rèn)工作表
f.SetActiveSheet(index)
// 根據(jù)指定路徑保存文件
if err := f.SaveAs("export.xlsx"); err != nil {
fmt.Println(err)
}
}讀取Excel文檔
package main
import (
"fmt"
"github.com/xuri/excelize/v2"
)
func main() {
f, err := excelize.OpenFile("Book1.xlsx")
if err != nil {
fmt.Println(err)
return
}
defer func() {
if err := f.Close(); err != nil {
fmt.Println(err)
}
}()
// 獲取工作表中指定單元格的值
cell, err := f.GetCellValue("Sheet1", "B2")
if err != nil {
fmt.Println(err)
return
}
fmt.Println(cell)
// 獲取 Sheet1 上所有單元格
rows, err := f.GetRows("Sheet1")
if err != nil {
fmt.Println(err)
return
}
for _, row := range rows {
for _, colCell := range row {
fmt.Print(colCell, "\t")
}
fmt.Println()
}
}小結(jié)
在本文中,簡(jiǎn)單介紹了 Go通過(guò) Excelize操作Excel 的導(dǎo)入、導(dǎo)出的使用方式,Excelize 是 Go 語(yǔ)言編寫的用于操作 Office Excel 文檔基礎(chǔ)庫(kù),可以使用它來(lái)讀取、寫入Excel文檔,還支持向Excel中插入圖片、圖標(biāo)、以及工具函數(shù)等,功能相對(duì)比較齊全,對(duì)于基本的需求完全夠用。
網(wǎng)上有一個(gè)詳細(xì)介紹excelize使用的中文文檔,總結(jié)挺全面的,地址:xuri.me/excelize/zh…
到此這篇關(guān)于Go語(yǔ)言操作Excel利器之excelize類庫(kù)的文章就介紹到這了,更多相關(guān)Go操作Excel之excelize內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺析go中的map數(shù)據(jù)結(jié)構(gòu)字典
golang中的map是一種數(shù)據(jù)類型,將鍵與值綁定到一起,底層是用哈希表實(shí)現(xiàn)的,可以快速的通過(guò)鍵找到對(duì)應(yīng)的值。這篇文章主要介紹了go中的數(shù)據(jù)結(jié)構(gòu)字典-map,需要的朋友可以參考下2019-11-11
Go語(yǔ)言中http.ResponseWriter接口
http.ResponseWriter是Go語(yǔ)言中用來(lái)設(shè)置HTTP響應(yīng)的接口,本文主要介紹了Go語(yǔ)言中http.ResponseWriter接口,具有一定的參考價(jià)值,感興趣的可以了解一下2024-08-08
golang包循環(huán)引用的幾種解決方案總結(jié)
golang有包循環(huán)引用問(wèn)題,用過(guò)的應(yīng)該都知道,下面這篇文章主要給大家介紹了關(guān)于golang包循環(huán)引用的幾種解決方案,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09
手把手教你如何在Goland中創(chuàng)建和運(yùn)行項(xiàng)目
歡迎來(lái)到本指南!我們將手把手地教您在Goland中如何創(chuàng)建、配置并運(yùn)行項(xiàng)目,通過(guò)簡(jiǎn)單的步驟,您將迅速上手這款強(qiáng)大的集成開(kāi)發(fā)環(huán)境(IDE),輕松實(shí)現(xiàn)您的編程夢(mèng)想,讓我們一起開(kāi)啟這段精彩的旅程吧!2024-02-02
淺析Go語(yǔ)言容器之?dāng)?shù)組和切片的使用
在?Java?的核心庫(kù)中,集合框架可謂鼎鼎大名:Array?、List、Set等等,隨便拎一個(gè)出來(lái)都值得開(kāi)發(fā)者好好學(xué)習(xí)如何使用甚至是背后的設(shè)計(jì)源碼。雖然Go語(yǔ)言沒(méi)有如此豐富的容器類型,但也有一些基本的容器供開(kāi)發(fā)者使用,接下來(lái)讓我們認(rèn)識(shí)一下這些容器類型吧2022-11-11

