excelize
go get github.com/xuri/excelize/v2
创建电子表格
func TestCreateSpreadsheet(t *testing.T) {
f := excelize.NewFile()
// 创建新的sheet.
index := f.NewSheet("Sheet2")
// 向单元格中设置值
f.SetCellValue("Sheet2", "A2", "Hello world.")
f.SetCellValue("Sheet1", "B2", 100)
// 设置激活的sheet
f.SetActiveSheet(index)
// 将电子表格进行保存
if err := f.SaveAs("Book1.xlsx"); err != nil {
fmt.Println(err)
}
// 将电子表格转成 buffer
f.WriteToBuffer()
}
读取电子表格
func TestReadSpreadsheet(t *testing.T) {
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)
// 从sheet中获取行数据
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()
}
}