📌  相关文章
📜  通过 Golang (Go) 读取电子表格 (Excel) 文档 Excelize - Go 编程语言 - Go 编程语言(1)

📅  最后修改于: 2023-12-03 15:28:23.464000             🧑  作者: Mango

通过 Golang (Go) 读取电子表格 (Excel) 文档 Excelize

如果你需要通过 Golang (Go) 读取电子表格 (Excel) 文档,那么你可以使用 Excelize 这个开源的 Golang 库。Excelize 为我们提供了一个简洁的 API,可以用来读取和修改 Excel 文档中的内容。

安装 Excelize

你可以使用以下命令来安装 Excelize:

go get github.com/xuri/excelize/v2
读取 Excel 文档

以下是一个简单的示例程序,用来读取 Excel 文档中的数据:

package main

import (
	"fmt"
	"github.com/xuri/excelize/v2"
)

func main() {
	// 打开 Excel 文档
	f, err := excelize.OpenFile("Workbook.xlsx")
	if err != nil {
		fmt.Println(err)
		return
	}

	// 读取单元格的值
	cellValue := f.GetCellValue("Sheet1", "A1")
	fmt.Println(cellValue)

	// 读取整个工作表中的所有单元格
	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()
	}
}

在上面的代码中,我们首先打开一个 Excel 文档,然后使用 GetCellValue 方法来读取单元格的值。我们还使用 GetRows 方法来在整个工作表中迭代每一行,并打印出每个单元格的值。

修改 Excel 文档

Excelize 允许我们使用 API 来修改 Excel 文档中的内容。以下是一个示例程序,用来向 Excel 文档中添加一个新的工作表:

package main

import (
	"fmt"
	"github.com/xuri/excelize/v2"
)

func main() {
	// 打开 Excel 文档
	f, err := excelize.OpenFile("Workbook.xlsx")
	if err != nil {
		fmt.Println(err)
		return
	}

	// 添加一个新的工作表
	index := f.NewSheet("Sheet2")
	f.SetCellValue("Sheet2", "A1", "Hello world")

	// 将新建的工作表设置为活动工作表
	f.SetActiveSheet(index)

	// 将 Excel 文档保存为新文件
	if err := f.SaveAs("NewWorkbook.xlsx"); err != nil {
		fmt.Println(err)
	}
}

在上面的代码中,我们首先打开一个 Excel 文档,然后使用 NewSheet 方法来添加一个新的工作表。我们还使用 SetCellValue 方法来向新建的工作表中写入数据。最后,我们将新建的工作表设置为活动工作表,并将 Excel 文档保存为新文件。

通过 Excelize 库,我们可以轻松地读取和修改 Excel 文档中的内容,而不必使用其他第三方工具。

Markdown代码:

# 通过 Golang (Go) 读取电子表格 (Excel) 文档 Excelize

如果你需要通过 Golang (Go) 读取电子表格 (Excel) 文档,那么你可以使用 Excelize 这个开源的 Golang 库。Excelize 为我们提供了一个简洁的 API,可以用来读取和修改 Excel 文档中的内容。

## 安装 Excelize

你可以使用以下命令来安装 Excelize:

go get github.com/xuri/excelize/v2


## 读取 Excel 文档

以下是一个简单的示例程序,用来读取 Excel 文档中的数据:

``` go
package main

import (
	"fmt"
	"github.com/xuri/excelize/v2"
)

func main() {
	// 打开 Excel 文档
	f, err := excelize.OpenFile("Workbook.xlsx")
	if err != nil {
		fmt.Println(err)
		return
	}

	// 读取单元格的值
	cellValue := f.GetCellValue("Sheet1", "A1")
	fmt.Println(cellValue)

	// 读取整个工作表中的所有单元格
	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()
	}
}

在上面的代码中,我们首先打开一个 Excel 文档,然后使用 GetCellValue 方法来读取单元格的值。我们还使用 GetRows 方法来在整个工作表中迭代每一行,并打印出每个单元格的值。

修改 Excel 文档

Excelize 允许我们使用 API 来修改 Excel 文档中的内容。以下是一个示例程序,用来向 Excel 文档中添加一个新的工作表:

package main

import (
	"fmt"
	"github.com/xuri/excelize/v2"
)

func main() {
	// 打开 Excel 文档
	f, err := excelize.OpenFile("Workbook.xlsx")
	if err != nil {
		fmt.Println(err)
		return
	}

	// 添加一个新的工作表
	index := f.NewSheet("Sheet2")
	f.SetCellValue("Sheet2", "A1", "Hello world")

	// 将新建的工作表设置为活动工作表
	f.SetActiveSheet(index)

	// 将 Excel 文档保存为新文件
	if err := f.SaveAs("NewWorkbook.xlsx"); err != nil {
		fmt.Println(err)
	}
}

在上面的代码中,我们首先打开一个 Excel 文档,然后使用 NewSheet 方法来添加一个新的工作表。我们还使用 SetCellValue 方法来向新建的工作表中写入数据。最后,我们将新建的工作表设置为活动工作表,并将 Excel 文档保存为新文件。

通过 Excelize 库,我们可以轻松地读取和修改 Excel 文档中的内容,而不必使用其他第三方工具。