Golang Excel表格的解析、导出

这篇博客介绍了如何在Go语言中使用excelize库创建和读取Excel文件。首先,通过`go get`命令安装excelize包,然后创建一个新的电子表格,并设置单元格的值。接着,保存文件并将其转换为缓冲区。在读取部分,展示了如何打开已存在的Excel文件,获取特定单元格的值以及遍历工作表的所有行数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考文档:https://github.com/qax-os/excelize

安装 excelize

go get github.com/xuri/excelize/v2

创建电子表格

func TestCreateSpreadsheet(t *testing.T) {
   f := excelize.NewFile()
   // 创建新的sheet.
   index := f.NewSheet("Sheet2")
   // 向单元格中设置值
   f.SetCellValue("Sheet2", "A2", "Hello world.")
   f.SetCellValue("Sheet1", "B2", 100)
   // 设置激活的sheet
   f.SetActiveSheet(index)
   // 将电子表格进行保存
   if err := f.SaveAs("Book1.xlsx"); err != nil {
      fmt.Println(err)
   }
   // 将电子表格转成 buffer
   f.WriteToBuffer()
}

读取电子表格

func TestReadSpreadsheet(t *testing.T) {
   f, err := excelize.OpenFile("Book1.xlsx")
   if err != nil {
      fmt.Println(err)
      return
   }
   defer func() {
      // 关闭文件
      if err := f.Close(); err != nil {
         fmt.Println(err)
      }
   }()
   // 从指定的单元格中取值
   cell, err := f.GetCellValue("Sheet1", "B2")
   if err != nil {
      fmt.Println(err)
      return
   }
   fmt.Println(cell)
   // 从sheet中获取行数据
   rows, err := f.GetRows("Sheet1")
   if err != nil {
      fmt.Println(err)
      return
   }
   for _, row := range rows {
      for _, colCell := range row {
         fmt.Print(colCell, "\t")
      }
      fmt.Println()
   }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值