我正在为(不断增长的)非结构化excel文档集合建立自动处理系统。该集合包括旧学校的.xls
文件和新的.xlsx
文件。在我的基于Java的解决方案中,我已经使用Apache POI工具包来分析文档。如何从excel文件中提取外部引用列表
我还没有解决的一个挑战是如何识别文档之间的链接以便绘制依赖关系。我还没有弄清楚如何方便地提取外部引用列表。对于.xlsx
文件我有一个解决方法,将文件解压缩,然后打开包含引用的xml文件。这可以工作,但对于大型文档收集效率不高,也不会为.xls
文件提供解决方案。
由于解决方案需要在Linux环境中运行,因此我更喜欢使用不依赖Microsoft Office或关联库的解决方案。
POI能够以某种方式做到这一点吗?如果没有,我会进一步调查哪些图书馆/工具/区域?
'Workbook'对象具有'Connections'类。你需要'OLEDBConnection'的'CommandText'。这会给你链接的工作簿。 – 2014-11-05 13:30:12
请问您是否可以详细阐述建议的解决方案?据我可以从https://poi.apache.org/apidocs/上的文档中看出,“Workbook”接口(也就是实现类“HSSFWorkbook”和“XSSFWorkbook”)授予对底层OLEDB连接的公共访问权限。 – Stern 2014-11-05 14:40:09
您可能必须分支出比Apache-POI更远的分支。你看过LibreOffice吗? LibreOffice有一个API,它可以访问连接。 – 2014-11-05 15:13:30