Go語言操作Excel利器之excelize類庫詳解

前言

在開發中一些需求需要通過程序操作excel文檔,例如導出excel、導入excel、向excel文檔中插入圖片、表格和圖表等信息,使用Excelize就可以方便的滿足上述需求,本文主要總結一下Excelize的使用,希望對大傢有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教。

Excelize簡介

Excelize是Go語言編寫的一個用來操作Office Excel文檔類庫,可以使用它來讀取、寫入Excel文件,還支持向Excel中插入圖片、圖標、以及工具函數等,功能相對比較齊全,對於基本的需求完全夠用,廢話不多說,直接開幹。

安裝

go get github.com/xuri/excelize
# 如果你是通過Go Module管理的包,執行以下安裝
go get github.com/xuri/excelize/v2

導出 Excel 文檔

package main

import (
    "fmt"

    "github.com/xuri/excelize/v2"
)

func main() {
    f := excelize.NewFile()
    // 創建一個工作表
    index := f.NewSheet("Sheet2")
    // 設置單元格的值
    f.SetCellValue("Sheet2", "A2", "Hello world.")
    f.SetCellValue("Sheet1", "B2", 100)
    // 設置工作簿的默認工作表
    f.SetActiveSheet(index)
    // 根據指定路徑保存文件
    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()
    }
}

小結

在本文中,簡單介紹瞭 Go通過 Excelize操作Excel 的導入、導出的使用方式,Excelize 是 Go 語言編寫的用於操作 Office Excel 文檔基礎庫,可以使用它來讀取、寫入Excel文檔,還支持向Excel中插入圖片、圖標、以及工具函數等,功能相對比較齊全,對於基本的需求完全夠用。

網上有一個詳細介紹excelize使用的中文文檔,總結挺全面的,地址:xuri.me/excelize/zh…

到此這篇關於Go語言操作Excel利器之excelize類庫的文章就介紹到這瞭,更多相關Go操作Excel之excelize內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: