go语言操作xlsx文件

简言

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

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

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

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

 代码执行效果如下

go语言操作xlsx文件_第1张图片

完整代码如下

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")
}

你可能感兴趣的:(Go语言,go读取xlsx文件,go操作xlsx文件)