我对Apache POI和Jsoup很新,我非常困惑。我试图将此文件解析为excel:
我希望每个列都是excel电子表格中的一列。 "数据文件"," Stata数据文件"中的条目和"字典"列是按下时下载.zip文件的超链接。我知道Apache POI可以创建超链接,但它是否可以将这些现有的超链接解析为excel?此外,这些数据来自网页,而不是特定的文件,所以这甚至可以用于Java吗?
有人能指出我正确的方向吗?如果这个项目可行,那么使用POI或Jsoup会更好吗?谢谢!
答案 0 :(得分:3)
你应该将这个任务分成两个步骤,因为它们解决了不同的问题,你将需要Jsoup和POI。
1)您可以使用Jsoup来获取和解析网页,Jsoup Cookbook有许多简单的示例,您可以如何做到这一点。你可以这样:
Document doc = Jsoup.connect("http://example.com/").get(); // Grab page
Element table = doc.getElementById("my-table"); // Get table with id "my-table"
通过使用选择器,您可以读取所需的数据并将其写入POJO或您真正喜欢的任何地方。
2)获得所需数据后,您可以使用POI创建Excel电子表格。
繁忙的开发者指南显示how to write to an excel sheet以及如何创建hyperlinks。
创建超链接的要点是:
Workbook wb = new XSSFWorkbook();
CreationHelper createHelper = wb.getCreationHelper();
Sheet sheet = wb.createSheet("Test sheet");
Cell cell = sheet.createRow(0).createCell((short)0);
cell.setCellValue("URL Link"); // Text that will be shown, e.g. AL2015
Hyperlink link = createHelper.createHyperlink(Hyperlink.LINK_URL);
link.setAddress("http://poi.apache.org/"); // Set actual hyperlink URL
cell.setHyperlink(link); // Add hyperlink to cell