Go语言操作Excel利器之excelize类库详解
作者:1个俗人 时间:2024-04-28 09:12:47
前言
在开发中一些需求需要通过程序操作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
标签:go语言,excel,excelize
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
图文详解Mysql使用left join写查询语句执行很慢问题的解决
2024-01-13 17:14:52
![](https://img.aspxhome.com/file/2023/1/114011_0s.png)
python中networkx函数的具体使用
2023-01-05 12:29:16
![](https://img.aspxhome.com/file/2023/6/133816_0s.png)
如何利用python给图片添加半透明水印
2022-08-16 09:34:28
![](https://img.aspxhome.com/file/2023/3/105193_0s.png)
从其他电脑访问本机的Mysql的设置方法
2024-01-17 10:25:57
Python爬虫之网页图片抓取的方法
2021-12-19 00:47:20
![](https://img.aspxhome.com/file/2023/3/78523_0s.png)
Python BeautifulSoup中文乱码问题的2种解决方法
2023-05-09 13:42:17
MySQL身份认证漏洞 升级到5.5.24可修正
2012-07-11 15:54:09
Python简单日志处理类分享
2023-02-22 01:10:26
详解Python yaml模块
2022-08-14 12:15:18
Docker-Compose创建mysql容器详解
2024-01-17 06:10:19
![](https://img.aspxhome.com/file/2023/3/124463_0s.png)
Golang+Vue轻松构建Web应用的方法步骤
2024-05-29 22:06:42
![](https://img.aspxhome.com/file/2023/3/123593_0s.jpg)
vue实现卡片翻转轮播展示
2024-04-27 16:08:16
![](https://img.aspxhome.com/file/2023/0/133000_0s.jpg)
JavaScript使用ZeroClipboard操作剪切板
2024-04-29 13:38:14
先学会为自己做设计
2008-06-01 16:32:00
python生成指定尺寸缩略图的示例
2022-04-14 01:14:49
Python爬虫之Selenium实现关闭浏览器
2022-12-09 07:11:03
Python实现简单猜数字游戏
2021-03-22 14:31:50
OpenCV3.0+Python3.6实现特定颜色的物体追踪
2021-05-13 09:01:03
![](https://img.aspxhome.com/file/2023/3/113053_0s.jpg)
利用Python实现K-Means聚类的方法实例(案例:用户分类)
2023-05-15 13:14:34
![](https://img.aspxhome.com/file/2023/8/88958_0s.png)
Go日志框架zap增强及源码解读
2024-05-22 10:19:13