为什么有这个库?

Excelize 是 Go 语言编写的用于操作 Office Excel 文档的基础库。我们可以使用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创建的电子表格文档。支持 XLSX / XLSM / XLTM 等多种文档格式,高度兼容可以处理多种复杂组件的文档,并提供流式读写 API,并用于处理包含大规模数据的工作簿。使用本类库要求使用的 Go 语言为 1.10 或更高版本。
Source Code: github.com/360EntSecGroup-Skylar/excelize

如何使用第三方库excelize创建excel?

  • 首先下载第三方库:
    go get github.com/360EntSecGroup-Skylar/excelize
    如果使用Go Modules 管理软件包,请在项目中使用go mod init excelize 然后再使用go get github.com/360EntSecGroup-Skylar/excelize
  • 直接看例子:
package main

import (
	"fmt"
	"github.com/360EntSecGroup-Skylar/excelize"
)

func main1() {
	//创建一个excel工作簿
	f := excelize.NewFile()
	//创建一个工作表
	sheetNum := f.NewSheet("Sheet2")
	//设置单元格的值
	f.SetCellValue("Sheet2", "A2", "hello excel!")
	f.SetCellValue("Sheet1", "B2", "hello B2!")
	//获取工作表中指定单元格的值
	cell := f.GetCellValue("Sheet1", "B2")
	fmt.Println(cell)
	//设置工作簿的默认工作表
	f.SetActiveSheet(sheetNum)
	//根据指定路径保存文件
	if err := f.SaveAs("Book1.xlsx"); err != nil {
		fmt.Println(err)
	}
}

直接运行go run main.go在同级目录下生成一个Book1.xlsx文件,

f.SetCellValue("Sheet2", "A2", "hello excel!")
对应如下

在这里插入图片描述

f.SetCellValue("Sheet1", "B2", "hello B2!")
对应如下:

在这里插入图片描述

如何打开指定的excel文件?

代码如下:

package main

import (
	"fmt"
	"github.com/360EntSecGroup-Skylar/excelize"
)

func main() {
	//打开一个excel工作簿
	f, err := excelize.OpenFile("Book1.xlsx")
	if err != nil {
		fmt.Println(err)
		return
	}
	//获取指定表
	rows := f.GetRows("Sheet1")
	for _, row := range rows { //遍历所有行
		for _, colCell := range row { //遍历一行
			fmt.Println(colCell, "\t")
		}
	}
}

运行代码后打开文件内容·如下:
在这里插入图片描述
输出结果为:
在这里插入图片描述