使用java将网页解析为excel并使用超链接

使用java将网页解析为excel并使用超链接,java,excel,hyperlink,apache-poi,jsoup,Java,Excel,Hyperlink,Apache Poi,Jsoup,我对ApachePOI和Jsoup非常陌生,我非常困惑。我正在尝试将此文件解析为excel: 我希望每个列都是excel电子表格中的一列。“数据文件”、“Stata数据文件”和“字典”列中的条目是超链接,按下时可下载.zip文件。我知道ApachePOI可以创建超链接,但它也可以将这些现有的超链接解析为excel吗?而且,这些数据来自一个网页,而不是一个特定的文件,所以java也可以这样做吗 有人能给我指出正确的方向吗?如果这个项目可行,使用POI或Jsoup会更好吗?谢谢 您应该将此任务分为

我对ApachePOI和Jsoup非常陌生,我非常困惑。我正在尝试将此文件解析为excel:

我希望每个列都是excel电子表格中的一列。“数据文件”、“Stata数据文件”和“字典”列中的条目是超链接,按下时可下载.zip文件。我知道ApachePOI可以创建超链接,但它也可以将这些现有的超链接解析为excel吗?而且,这些数据来自一个网页,而不是一个特定的文件,所以java也可以这样做吗


有人能给我指出正确的方向吗?如果这个项目可行,使用POI或Jsoup会更好吗?谢谢

您应该将此任务分为两个步骤,并且您需要Jsoup和POI,因为它们解决不同的问题

  • 抓取网页并解析(Jsoup)
  • 将解析结果写入excel电子表格(POI)
  • 1) 您可以使用Jsoup获取和解析web页面,其中有许多简单的示例。你可以例如:

    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电子表格

    《忙碌的开发人员指南》展示了如何创建

    创建超链接的要点是:

    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