go语言解析excel

码海星罗盘
• 阅读 794

go get github.com/xuri/excelize/v2

package main

import (
    "fmt"
    "strings"

    "github.com/xuri/excelize/v2"
)

func main() {
    f, err := excelize.OpenFile("/Users/test/abc.xlsx")
    if err != nil {
        fmt.Println(err)
        return
    }
    rows, err := f.GetRows("Sheet1")
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println("rows:", len(rows))
    var sql strings.Builder
    sql.WriteString("INSERT INTO test (a, b, c, d, e) VALUES\n")
    var end = false
    for idx, row := range rows {
        if idx == 0 {
            continue
        }
        if idx == len(rows)-1 {
            end = true
        }
        var a, b, c, d string
        for colIdx, colCell := range row {
            switch colIdx {
            case 0:
                a = colCell
            case 1:
                b = colCell
            case 2:
                c = colCell
            case 4:
                d = colCell
            }
        }
        sql.WriteString("('" + a + "', '" + b + "', '" + c + "', '" + d + "', '2023-01-10 00:00:00')")
    }
        if end {
            sql.WriteString(";")
        } else {
            sql.WriteString(",\n")
        }
    fmt.Println(sql.String())

}
点赞
收藏
评论区
推荐文章
Jacquelyn38 Jacquelyn38
4年前
用了这 7 个 VS Code 插件,想写一辈子代码
0\.往期精彩工具推荐译文来自https://levelup.gitconnected.com/7vscodeextensionsthatmakeyouwanttokeepcodingforeverf205e597ae34原作者Daan译者:蓝色的秋风(github
Stella981 Stella981
3年前
Golang 操作Excel文件
日常开发中会遇到处理Excel文件的相关操作,这里推荐一款应用比较广泛的操作Excel的开源工具Excelize。Excelize是一个用Go语言编写的库,提供了一组允许您写入和读取XLSX/XLSM/XLTM文件的功能。支持读写由MicrosoftExcel™2007和更高版本生成的电子表格文档。通过高度兼容性支持复杂的组件,并提供了流式AP
Stella981 Stella981
3年前
Node.js VS PHP—你应该选择哪一个?
!(https://oscimg.oschina.net/oscnet/de8155e0d2e74fe9996e4805124e8434.png)!(https://oscimg.oschina.net/oscnet/2d4a9febeaa34b018e89c475efc6c4e0.jpg)现在,公司和开发人员可以选择多种技术
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
Oracle JDK7 bug 发现、分析与解决实战
本文首发于vivo互联网技术微信公众号链接:https://mp.weixin.qq.com/s/8f34CaTpWz5pTHKA0Xeg(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fmp.weixin.qq.com%2Fs%2F8f34CaTpWz5p
Stella981 Stella981
3年前
Redis4.0.0 安装及配置 (Linux — Centos7)
Redis4.0.0安装及配置(Linux—Centos7)!96(http://cdn2.jianshu.io/assets/default_avatar/43397163ecdb3855a0a4139c34a695885.jpg?imageMogr2/autoor
Stella981 Stella981
3年前
Kali Day01
1root@kali:~/文档arpspoofieth0t172.20.151.172.20.151.1234:64:a9:36:4:b70:0:0:0:0:0080642:arpreply172.20.151.1isat34:64:a9:36:4:b7334:64:a9:36:4
Stella981 Stella981
3年前
Android蓝牙连接汽车OBD设备
//设备连接public class BluetoothConnect implements Runnable {    private static final UUID CONNECT_UUID  UUID.fromString("0000110100001000800000805F9B34FB");
Stella981 Stella981
3年前
Sentinel 调用上下文环境实现原理(含原理图)
点击上方“中间件兴趣圈”,选择“设为星标”做积极的人,越努力越幸运!!(https://oscimg.oschina.net/oscnet/33cec0d20fe42d2f34e7ea0ccb472821287.png)(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fmp
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
5个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(