dre*_*lss 5 java xml excel ms-office
我无法将较旧的Office XML格式的Excel文件(例如Office 2002或2003版本)加载到Java中.我尝试了JXL和Apache的POI(版本3.7).POI不起作用,因为它似乎需要更新的Office .xlsx
格式.
这是旧版Office XML格式的示例.
通过将工作簿保存为"XML Spreadsheet 2003"格式,可以从MS Excel 2010生成类似的XML文件?
是否有任何开源Java库可以加载XMLSS格式?否则我别无选择,只能编写自定义解析器:读取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());
Run Code Online (Sandbox Code Playgroud)
您可能会使用 OpenOffice API 获得一些结果。如果不是直接,您可能可以转换为“支持”的格式。否则,Office 2003“SpreadsheetML”的架构并不是很复杂。我成功创建了一个 xslt 场景,将结果集(数据库查询)转换为(简单而有效)Excel 2003 文档(XML 格式)。反过来应该不难实现。
干杯,维姆
归档时间: |
|
查看次数: |
9886 次 |
最近记录: |