读取Word文档的各种复杂表格内容

工作上遇到如何读取Word文档中的表格内容,表格是有业务数据意义的,而且有一定规则的,因此不能直接读取表格文本,而是遍历表格单元格进行一行一列读取。

表格规则:

(1)表格可以有表头,表头也有业务意思

(2)一行为一个业务数据,可能会跨行

(3)列可能会有跨列、跨行

(4)单元格中图片、数学公式、嵌套表格、文件等

比如,以下表格

读取Word文档的各种复杂表格内容

具体代码:https://github.com/suncht/wordtable-read

目前功能如下:

  1. 目前只支持读取2007以上Word文档表格单元格的文本,支持读取图片、数学公式。
  2. 支持一般性的有规则的复杂表格。
  3. 暂不支持2007以下的Doc类型文档,因为POI中暂未找到关于表格单元格定位的API。
  4. 为了兼容2007以下的Doc类型文档,利用jodconverter3.0 + LibreOffice 5.3,“先将Doc类型文档转换为Docx类型文档,再进行读取表格内容”。 注意:LibreOffice直接支持Docx类型文档,而OpenOffice不能直接支持Docx类型文档,需要AccessODF插件