2017-10-23 16 views
1

私はApache POIとJsoupの新機能です。私は非常に混乱しています。私は、Excelにこのファイルを解析しようとしています:javaでWebページを解析してハイパーリンクを使用する

enter image description here

私は各列が私のExcelスプレッドシートの列になりたいです。 「データファイル」、「Stataデータファイル」、および「辞書」列のエントリは、押されたときに.zipファイルをダウンロードするハイパーリンクです。私はApache POIがハイパーリンクを作成できることは知っていますが、これらの既存のハイパーリンクを解析してExcelにすることはできますか?また、このデータはWebページからのものであり、特定のファイルではないので、javaでも可能ですか?

誰かが正しい方向に向けるでしょうか?このプロジェクトが可能な場合は、POIまたはJsoupを使用する方がよいでしょうか?ありがとう!

答えて

3

このタスクは2つのステップに分割する必要があり、異なる問題を解決するため、JsoupとPOIの両方が必要になります。

  1. グラブのウェブページと解析(Jsoup)は
  2. 書き込みは、Excelスプレッドシートに結果を解析された(POI)

1)あなたは、Webページを取得し、解析する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 
関連する問題