您的位置 首页 golang

golang基础学习-Excel使用


一、背景

项目中用到了Excel,主要在两个方面:
1、读取excel中的信息;
2、根据已知数据,生成excel的报表。

二、简介

因为使用的GO语言开发的项目,用到了"Excelize"这个包。
Excelize: 是Go语言编写的用于操作 Office Excel 文档基础库。
官网:https://xuri.me/excelize/
GitHub: https://github.com/360EntSecG…
GO.DEV: https://pkg.go.dev/github.com…

三、环境

开发环境:

环境版本备注
OSMacOS
Golang1.14
Excelizev1.4.1

四、安装

使用最新版本 Excelize 要求您使用的 Go 语言为 1.10 或更高版本。

  • 安装命令
go get github.com/360EntSecGroup-Skylar/excelize

五、范例

5.1 生成excel

package mainimport "github.com/360EntSecGroup-Skylar/excelize"func main() {    f := excelize.NewFile()    // 创建一个工作表    index := f.NewSheet("Sheet1")    //隐藏名称为 Sheet1 的工作表中的 D 至 F 列:    f.SetColVisible("Sheet1", "D:F", false)    //根据给定的工作表名称(大小写敏感)、列范围和宽度值设置单个或多个列的宽度。    //例如设置名为 Sheet1 工作表上 A 到 D 列的宽度为 20:    f.SetColWidth("Sheet1", "A", "D", 20)    //根据给定的工作表名称(大小写敏感)、行号和高度值设置单行高度。    //例如设置名为 Sheet1 工作表第二行行的高度为 50:    f.SetRowHeight("Sheet1", 2, 50)    // 设置单元格的值    f.SetCellValue("Sheet1", "A2", 100)    //根据给定的工作表名(大小写敏感)和单元格坐标区域合并单元格。例如,合并名为 Sheet1 的工作表上 D3:E9 区域内的单元格:    f.MergeCell("Sheet1", "D3", "D4")    f.SetCellValue("Sheet1", "D3", 1000)    f.SetCellValue("Sheet1", "D5", "hello")    // 设置工作簿的默认工作表    f.SetActiveSheet(index)    // 根据指定路径保存文件    if err := f.SaveAs("Book1.xlsx"); err != nil {        println(err.Error())    }}

结果如下图
image.png

5.2 读取excel

表格内容
image.png

代码:

package mainimport "github.com/360EntSecGroup-Skylar/excelize"func main() {    f, err := excelize.OpenFile("book.xlsx")    if err != nil {        println(err.Error())        return    }    // 获取工作表中指定单元格的值    cell := f.GetCellValue("Sheet1", "B2")    println(cell)    // 获取 Sheet1 上所有单元格    rows := f.GetRows("Sheet1")    for _, row := range rows {        for _, colCell := range row {            print(colCell, "\t")        }        println()    }}

代码输出:
image.png

参考链接:


文章来源:智云一二三科技

文章标题:golang基础学习-Excel使用

文章地址:https://www.zhihuclub.com/3519.shtml

关于作者: 智云科技

热门文章

网站地图