Golang Go语言中如何用 Go 语言解析 word 文档(doc, docx)?

发布于 1周前 作者 bupafengyu 来自 Go语言

Golang Go语言中如何用 Go 语言解析 word 文档(doc, docx)?

没有找到能用的库,RT

9 回复

更多关于Golang Go语言中如何用 Go 语言解析 word 文档(doc, docx)?的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


go 是挺猛啊,,操作 excel 、word 的库都有了,,看起来还挺完善



这库你们用过没, 刚才折腾了一番要去他官网注册弄 license,注册完只有一个生成 api key 的按钮,兜兜转转代码也没跑起来气死我了.
有没有更简洁的库推荐呢

简洁的功能怕就不是太多

https://github.com/nguyenthenguyen/docx

如果技术栈里有 python 的话,上 python 吧

推荐使用 Java docx4j 。golang 的这个库我们原来也用现在重构了用 Java 写

推荐 java 的 xdoc

可以看看 github 的这个库 bobiverse/docxplate

在Go语言中解析Word文档(无论是.doc还是.docx格式),通常需要使用第三方库,因为标准库并不直接支持这一功能。以下是针对这两种格式分别推荐的库及简要使用方法:

  1. 解析.docx文档

    • 推荐使用github.com/unidoc/unioffice库。该库功能强大,支持读写.docx文档。
    • 安装方法:go get -u github.com/unidoc/unioffice
    • 示例代码:
      package main
      
      import (
          "fmt"
          "log"
          "github.com/unidoc/unioffice/document"
      )
      
      func main() {
          file := "example.docx"
          doc, err := document.Open(file)
          if err != nil {
              log.Fatal(err)
          }
          for _, para := range doc.Paragraphs() {
              fmt.Println(para.Text())
          }
      }
      
  2. 解析.doc文档

    • 对于.doc格式,可以使用github.com/go-ole/go-olegithub.com/unidoc/com等库结合COM接口来操作Word应用程序,但这通常只在Windows平台上有效。
    • 由于.doc格式较为老旧且复杂,直接解析不如.docx方便,建议尽可能将文档转换为.docx格式处理。

总之,处理.docx文档推荐使用unioffice库,而.doc文档则建议转换为.docx后再进行解析。根据具体需求选择合适的库和方法。

回到顶部