go语言操作xlsx文件

简言

1. go语言操作xlsx文件已经有了很完善的第三方库,本篇博客演示的是 360EntSecGroup-Skylar/excelize 的使用

2. 演示功能:读取xlsx文件,新建,写入,保存xlsx文件

完整代码及文档的下载地址

operate_xlsx.zip-其它文档类资源-CSDN下载

 代码执行效果如下

完整代码如下

package main
import "fmt"
import "github.com/360EntSecGroup-Skylar/excelize"
// 敏感词信息
type SensitiveWord struct {
        Word     string // 屏蔽词
        Type     string // 屏蔽词类型
}
func main() {
        // 读取xlsx文件,读取不到文件时要写全路径名
        xlsx, err := excelize.OpenFile("./word.xlsx")
        if err != nil {
                fmt.Printf("读取word文件失败,err=%v", err)
                return
        }
        allWords := []SensitiveWord{}
        rows := xlsx.GetRows("Sheet1")
        for i := 0; i < len(rows); i++ {
                if i< 1 {
                        continue
                }

                word := SensitiveWord{}
                word.Word = rows[i][0] // 第几行第几列,行号,列号都从0开始
                word.Type = rows[i][1] // 第几行第几列,行号,列号都从0开始

                allWords = append(allWords, word)
        }
        fmt.Printf("读取到的word文档内容,allWords=%v \n", allWords)

        // 新建并写入一个xlsx文件
        fi := excelize.NewFile()

        // 页Sheet1
        index := fi.NewSheet("Sheet1")

        // 四个列名
        fi.SetCellValue("Sheet1", "A1", "ID")
        fi.SetCellValue("Sheet1", "B1", "昵称")
        fi.SetCellValue("Sheet1", "C1", "年龄")
        fi.SetCellValue("Sheet1", "D1", "描述")

        // 填充数据
        fi.SetCellValue("Sheet1", "A2", "1")
        fi.SetCellValue("Sheet1", "B2", "小明")
        fi.SetCellValue("Sheet1", "C2", "12")
        fi.SetCellValue("Sheet1", "D2", "聪明的学生")
        fi.SetCellValue("Sheet1", "A3", "2")
        fi.SetCellValue("Sheet1", "B3", "小红")
        fi.SetCellValue("Sheet1", "C3", "13")
        fi.SetCellValue("Sheet1", "D3", "一般的学生")

        fi.SetActiveSheet(index)
        // 保存成xlsx文件
        err = fi.SaveAs("result.xlsx")
        if err != nil {
                fmt.Printf("保存敏感字结果文件失败,err=%v", err)
                return
        }
        fmt.Printf("保存xlsx文件成功\n")
}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值