我无法将旧版 Office XML 格式(比如 Office 2002 或 2003 版本)的 Excel 文件加载到 Java 中。我尝试了 JXL 和 Apache 的 POI(3.7 版)。 POI 不起作用,因为它似乎需要较新的 Office .xlsx
格式。
这是一个 example旧的 Office XML 格式。
是否可以通过将工作簿另存为“XML Spreadsheet 2003”格式从 MS Excel 2010 生成类似的 XML 文件?
是否有任何可以加载 XMLSS 格式的开源 Java 库?否则我别无选择,只能编写自定义解析器:读取 XML 文件,然后解释单元格标签以构建单元格矩阵。在这种 XML 格式中,任何具有空单元格值的行都将被跳过,下一个包含数据的单元格使用索引属性定位,该属性类似于列中的偏移量,我假设是为了节省 XML 文件中的空间。
最佳答案
该格式称为 SpreadsheetML(不要与同样基于 xml 的 .xlsx 混淆),一个名为 Xelem 的库可以处理:
import nl.fountain.xelem.excel.Workbook;
import nl.fountain.xelem.lex.ExcelReader;
//...
ExcelReader reader = new ExcelReader();
Workbook xlWorkbook = reader.getWorkbook("c:\\my\\spreadsheet.xml");
System.out.println(xlWorkbook.getSheetNames());
关于java - 如何使用 Java 加载旧的 Microsoft Office XML 文件 (Excel),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7089039/