Golang如何实现操作excel

  介绍

Golang如何实现操作excel ?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

为了方便开源库的快速上的手,我们先来了excel中解的几个关键术语,如下图所示,①为表,也就是表格中的页签;②为行,代表excel中的一行;③为细胞,代表excel中的一个单元格。

 Golang如何实现操作excel“> </p> <p>正常情况下,创建一个表格的基本流程是打开wps点击新建,这时会默认创建一个表,然后在该表格中的第一行填写表头,接下来根据表头逐行填充内容,最后将文件另存为到硬盘的某个位置。这与Golang开源库创建excel的流程基本相同,下面演示一个极简表格的创建。</p> <p> </p> <p>创建表格前需要先引入excel库,我们以比较热门的tealeg/xlsx库为例。</p> <pre class=去github.com/tealeg/xlsx

首先创建一个空文件,拿到文件句柄。

文件:=xlsx.NewFile ()

创建一个名为<代码>人员信息收集>

行:=sheet.AddRow () 

在该行中创建一个单元格。

细胞:=row.AddCell ()

现在给单元格填充内容,因为是表头,暂且叫<代码>姓名> 细胞。价值=https://www.yisu.com/zixun/毙彰?/pre>

如何创建第二个单元格呢?原理相同,此处细胞变量已定义,再创建新单元格只需赋值即可。

行=sheet.AddRow ()
  细胞=row.AddCell ()
  细胞。值=https://www.yisu.com/zixun/闭湃?
  细胞=row.AddCell ()
  细胞。值="男" 

表格设置完成后,将该文件保存,文件名可自定义。

呃=file.Save (“demo.xlsx")
  如果犯错!=nil {
  恐慌(err.Error ())
  }

跑起来后,可以发现目录中多了一个演示。xlsx文件,打开预览内容如下,达到了预期效果。

 Golang如何实现操作excel“> </p> <p> </p> <pre class=主要包      进口“;github.com/tealeg/xlsx"      函数main () {   文件:=xlsx.NewFile ()   表,犯错:=file.AddSheet(“人员信息收集“)   如果犯错!=nil {   恐慌(err.Error ())   }   行:=sheet.AddRow ()   细胞:=row.AddCell ()   细胞。值=https://www.yisu.com/zixun/毙彰?   细胞=row.AddCell ()   细胞。值=靶浴北?      行=sheet.AddRow ()   细胞=row.AddCell ()   细胞。值="张三”   细胞=row.AddCell ()   细胞。值="男"      呃=file.Save (“demo.xlsx”)   如果犯错!=nil {   恐慌(err.Error ())   }   }

表格的读取比创建简单很多,依然以上文创建的文件为例。

输出,犯错:=xlsx.FileToSlice (“demo.xlsx")
  如果犯错!=nil {
  恐慌(err.Error ())
  }

只需将文件路径传入上述方法,即可自动读取并返回一个三维切片,我们来读取第一个表的第二行中的第一个单元格。

log.Println(输出[0][1][1])//输出:男

由此一来就非常容易遍历了。

 

2020/10/11 16:15:29第1行,第1个单元格:姓名
2020/10/11 16:15:29第1行,第2个单元格:性别
2020/10/11 16:15:29第2行,第1个单元格:张三
2020/10/11 16:15:29第2行,第2个单元格:男

主要包
  
  导入(
  “fmt"
  “;github.com/tealeg/xlsx"
  “log"
  )
  
  函数main () {
  输出,犯错:=xlsx.FileToSlice (“demo.xlsx")
  如果犯错!=nil {
  恐慌(err.Error ())
  }
  log.Println(输出[0][1][1])
  rowIndex,行:=输出区间[0]{
  cellIndex,细胞:={范围行
  log.Println (fmt.Sprintf(“第% d行,第% d个单元格:% s", rowIndex + 1, cellIndex + 1,细胞))
  }
  }
  }

Golang如何实现操作excel