发布时间:2024-12-22 23:40:07
在实际的开发过程中,有时我们需要对xls文件进行读写操作,如生成报表、导入数据等。而在golang中,我们可以使用第三方库excelize
来方便地对xls进行读写。
首先,我们需要安装excelize
库。打开终端执行以下命令:
$ go get github.com/360EntSecGroup-Skylar/excelize/v2
这会将所需的库下载到你的工作空间中。
要读取一个已存在的xls文件,我们首先需要创建一个新的工作簿对象,然后打开待读取的文件。
import (
"fmt"
"github.com/360EntSecGroup-Skylar/excelize/v2"
)
func main() {
f, err := excelize.OpenFile("path/to/file.xlsx")
if err != nil {
fmt.Println(err)
return
}
// 读取第一个工作表的A1单元格的内容
cellValue, err := f.GetCellValue("Sheet1", "A1")
if err != nil {
fmt.Println(err)
return
}
fmt.Println(cellValue)
}
上述代码首先使用excelize.OpenFile()
函数打开指定路径的xls文件。然后,通过GetCellValue()
函数来获取指定工作表、指定单元格的数值。
要创建一个新的xls文件并写入数据,可以使用以下代码:
import (
"github.com/360EntSecGroup-Skylar/excelize/v2"
)
func main() {
f := excelize.NewFile()
// 创建一个新的工作表
index := f.NewSheet("Sheet1")
// 设置单元格的值
f.SetCellValue("Sheet1", "A1", "Hello")
f.SetCellValue("Sheet1", "B1", "World")
// 设置默认工作表
f.SetActiveSheet(index)
// 保存文件
if err := f.SaveAs("path/to/newfile.xlsx"); err != nil {
fmt.Println(err)
}
}
上述代码首先使用excelize.NewFile()
创建一个新的xls文件,并且默认会自动创建一个名为"Sheet1"的工作表。然后,我们可以使用SetCellValue()
函数来设置单元格的值。最后,调用SaveAs()
函数将数据保存到指定路径的xls文件中。
通过excelize
库,我们可以轻松地实现golang对xls文件的读写。不仅如此,该库还提供了丰富的API,可以进行更复杂的操作,如合并单元格、设置样式等。在实际项目中,我们可以根据需要结合excelize
库完成各种xls文件操作。