go操作excel表,需要使用到库,xlsx

操作应该来说比较简单。

创建一个新文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
file := xlsx.NewFile()
sheet, err := file.AddSheet("Sheet1")
if err != nil {
log.Error(err.Error())
return
}

......

err = file.Save(path.Join(fileResDir, "logAnalysis.xlsx"))
if err != nil {
log.Println(err.Error())
return
}

创建一行:

1
rowRange = sheet.AddRow()

一行中的一个格子:

1
2
cell1 := rowRange.AddCell()
cell1.Value = "范围" // 添加数据

一个格子(cell)样式设置,字体,颜色,边框,位置。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
blueBkGStyle = xlsx.NewStyle()

font := *xlsx.NewFont(11, "SimSun")
//font.Bold = true
//font.Italic = true
//font.Underline = true
blueBkGStyle.Font = font
blueBkGStyle.ApplyFont = true

fill := *xlsx.NewFill("solid", "6495ED", "FF000000")
blueBkGStyle.Fill = fill
blueBkGStyle.ApplyFill = true

//border := *xlsx.NewBorder("thin", "thin", "thin", "thin")
//blueBkGStyle.Border = border
blueBkGStyle.ApplyBorder = false

centerHalign := xlsx.Alignment{Horizontal: "center"}
blueBkGStyle.Alignment = centerHalign
blueBkGStyle.ApplyAlignment = true

cell1.SetStyle(blueBkGStyle)

设置列的宽度:

1
2
3
4
func (s *Sheet) SetColWidth(min int, max int, width float64)

// 将第3列到第5列宽度设置为44
sheet.SetColWidth(3, 5, 44)

更多的操作,进入到该库中,在各个test文件或issue中查找。