- 导入包
- 创建文件
- 添加表格
- 添加行
- 添加单元格
- 保存文件
- 封装
导入包
首先,安装github.com/tealeg/xlsx库。可以通过以下命令在终端中安装:
go get github.com/tealeg/xlsx
创建文件
指定好文件的名字
fileName := "D:\\a.xlsx"
再判断文件是否存在(这一步通常用于清空原来写入到excel的内容)
// 检查文件是否存在_, err1 := os.Stat(fileName)// 如果文件存在,删除文件if err1 == nil {err := os.Remove(fileName)if err != nil {log.Fatalf("删除文件失败: %v", err)}}
创建一个新的 Excel 文件
file := xlsx.NewFile()
添加表格
添加一个 Sheet
// 添加一个 Sheetsheet, err := file.AddSheet("Sheet1")if err != nil {fmt.Printf("Error creating sheet: %s\n", err)return}
添加行
表格中添加一行
//表格中添加一行
row := sheet.AddRow()
添加单元格
行中添加单元格并将值写入
cell := row.AddCell()
cell.SetValue(value)
保存文件
将文件保存到文件路径所在的位置
// 将 Excel 文件保存到本地if err := file.Save(fileName); err != nil {log.Fatal(err)}
封装
将上述内容封装成一个方法
package mainimport ("fmt""github.com/tealeg/xlsx""log""os"
)func main() {fileName := "D:\\a.xlsx"// 检查文件是否存在_, err1 := os.Stat(fileName)// 如果文件存在,删除文件if err1 == nil {err := os.Remove(fileName)if err != nil {log.Fatalf("删除文件失败: %v", err)}}// 创建一个新的 Excel 文件file := xlsx.NewFile()// 添加一个 Sheetsheet, err := file.AddSheet("Sheet1")if err != nil {fmt.Printf("Error creating sheet: %s\n", err)return}// 写入数据到第一行的每一列data := []string{"Number", "time", "CPU/s"}// 添加一行row := sheet.AddRow()//写入数据到第一行的每一列for _, value := range data {cell := row.AddCell()cell.SetValue(value)}// 将 Excel 文件保存到本地if err := file.Save(fileName); err != nil {log.Fatal(err)}//添加一行到表格中newRow := sheet.AddRow()//当前的行依次添加单元格再把值放进去newRow.AddCell().SetValue("NO:1")newRow.AddCell().SetValue("2024-04-20 20:26:32")newRow.AddCell().SetValue("168s")// 最后将Excel文件保存到本地if err := file.Save(fileName); err != nil {log.Fatal(err)}
}