在使用 Apache poi 解析 Excel 文件时,可能会遭遇到“文档实际上是一个 XML 文件”的错误。这通常是由于 Excel 文件实际上是 XML 格式而不是二进制格式导致的。
为了解决这个问题,我们可以尝试使用以下代码示例中的 WorkbookFactory.create(InputStream inp) 方法来读取 Excel 文件:
try (InputStream inp = new FileInputStream("example.xlsx")) { Workbook wb = WorkbookFactory.create(inp); // do something with wb }
此方法会自动适应 Excel 文件的格式,无论是 XML 格式还是二进制格式,都可以正确地读取。因此,我们就可以避免上述错误了。