<mergeCell> 解析后不存在,即使 xlsx 文件中有合并单元格

<mergeCell> dont exist after parsing, even though there are merge cells in xlsx file

我正在使用 apache.poi 读取 java 中的 .xlsx 和 .xlsm 文件。 我开始遇到熟悉的问题 XSSFWorkbook wb = XSSFWorkbookFactory.createWorkbook(pkg),它需要几分钟才能加载单个简单文件,我尝试了所有形式的解决方案……然后我开始使用 XSSFReader 和 SAX 解析器,这似乎正是我想要的我找过。 当我意识到我需要从合并的单元格中获取值时,问题再次出现。

我看到 in this post 如何从文件中获取合并单元格的列表,它似乎适用于我创建的新文件,但是当我解析给我的真实文件时 - 它根本没有 <mergeCells>/<mergeCell>

我怀疑该文件不知何故没有合并单元格(尽管它似乎有)。我用传统方式(XSSFWorkbook- 这需要大量时间)和 sheet.getMergedRegions() returns 14 项的 ArrayList 检查它.. 即它有合并单元格...

我能做什么?我的文件有什么问题?我该如何处理?

这确实听起来很愚蠢,但我的问题是......我使用的代码只处理了第一个 sheet.. 而包含合并单元格的 sheet 是工作簿中的第三个..

我在这里为遇到同样问题的人留下答案。