go读写excel文件

首先,需要安装golang用来操作excel文档的类库:

go get github.com/Luxurioust/excelize

 

一、excel文件创建与写入

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package main
 
import (
    "log"
 
    "github.com/Luxurioust/excelize"
)
 
func main() {
    //创建excel文件
    xlsx := excelize.NewFile()
 
    //创建新表单
    index := xlsx.NewSheet("成绩表")
 
    //写入数据
    data := map[string]string{
        //学科
        "B1": "语文",
        "C1": "数学",
        "D1": "英语",
        "E1": "理综",
 
        //姓名
        "A2": "啊俊",
        "A3": "小杰",
        "A4": "老王",
 
        //啊俊成绩
        "B2": "112",
        "C2": "115",
        "D2": "128",
        "E2": "255",
 
        //小杰成绩
        "B3": "100",
        "C3": "90",
        "D3": "110",
        "E3": "200",
 
        //老王成绩
        "B4": "70",
        "C4": "140",
        "D4": "60",
        "E4": "265",
    }
    for k, v := range data {
        //设置单元格的值
        xlsx.SetCellValue("成绩表", k, v)
    }
 
    //设置默认打开的表单
    xlsx.SetActiveSheet(index)
 
    //保存文件到指定路径
    err := xlsx.SaveAs("./成绩表.xlsx")
    if err != nil {
        log.Fatal(err)
    }
}

 

效果图:

 

 

二、excel文件读取

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package main
 
import (
    "fmt"
    "log"
 
    "github.com/Luxurioust/excelize"
)
 
func main() {
    f, err := excelize.OpenFile("./成绩表.xlsx")
    if err != nil {
        log.Fatal(err)
    }
 
    /*
        //读取某个单元格的值
        value, err := f.GetCellValue("成绩表", "D2")
        if err != nil {
            log.Fatal(err)
        }
        fmt.Println(value)
    */
 
    //读取某个表单的所有数据
    rows, err := f.GetRows("成绩表")
    if err != nil {
        log.Fatal(err)
    }
    for _, row := range rows {
        for _, value := range row {
            fmt.Printf("\t%s", value)
        }
        fmt.Println()
    }
}

  

效果图:

 

 

 

posted @   疯一样的狼人  阅读(17163)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示