【Golang】golang操作Excel基本操作
大家好 我是寸铁👊
总结了一篇【Golang】golang操作Excel基本操作✨
喜欢的小伙伴可以点点关注 💝
导入包
先把要用到的包导入
"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
// 添加一个 Sheet
sheet, 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)
}
demo
学习完上面的内容后,不妨来实战一下。
package main
import (
"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()
// 添加一个 Sheet
sheet, 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)
}
}
添加的结果如下:
看到这里的小伙伴,恭喜你又掌握了一个技能👊
希望大家能取得胜利,坚持就是胜利💪
我是寸铁!我们下期再见💕
往期好文💕
保姆级教程
【保姆级教程】Windows11下go-zero的etcd安装与初步使用
【保姆级教程】Windows11安装go-zero代码生成工具goctl、protoc、go-zero
【Go-Zero】手把手带你在goland中创建api文件并设置高亮
报错解决
【Go-Zero】Error: user.api 27:9 syntax error: expected ‘:‘ | ‘IDENT‘ | ‘INT‘, got ‘(‘ 报错解决方案及api路由注意事项
【Go-Zero】Error: only one service expected goctl一键转换生成rpc服务错误解决方案
【Go-Zero】【error】 failed to initialize database, got error Error 1045 (28000):报错解决方案
【Go-Zero】Error 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)报错解决方案
【Go-Zero】type mismatch for field “Auth.AccessSecret“, expect “string“, actual “number“报错解决方案
【Go-Zero】Error: user.api 30:2 syntax error: expected ‘)‘ | ‘KEY‘, got ‘IDENT‘报错解决方案
【Go-Zero】Windows启动rpc服务报错panic:context deadline exceeded解决方案