网络编程
位置:首页>> 网络编程>> Go语言>> Go语言操作Excel利器之excelize类库详解

Go语言操作Excel利器之excelize类库详解

作者:1个俗人  发布时间:2024-04-28 09:12:47 

标签: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…

来源:https://juejin.cn/post/7150436282575880200

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com