2014-02-12 38 views
0

我需要從以下URL下載文件。從下拉框中選擇一個字段以使用java下載Excel文件

http://www.census.gov/manufacturing/m3/

(提前報告highlights->擅長選擇菜單 - >表1)

只要我們點擊從下拉框中進行選擇,Web瀏覽器直接提示下載並保存該excel文件。

你能提出一個方法來解決這個問題嗎? 我正在嘗試使用HtmlUnit以下代碼。

我得到線HtmlOption option = select.getOption(2);

如果存在與其他類更好的解決方案一個空指針,我不會介意考慮這一點。

public static void startDownload() throws Exception { 

    final WebClient webClient = new WebClient(); 

    HtmlPage page = webClient.getPage("http://www.census.gov/manufacturing/m3/"); 

    HtmlSelect select = (HtmlSelect) page.getElementById("advance_xls"); 
    HtmlOption option = select.getOption(2); 

    webClient.closeAllWindows();/**/ 
} 

回答

0

更新的代碼中,有一些小的失誤:

final WebClient webClient = new WebClient(); 

HtmlPage page = webClient.getPage("http://www.census.gov/manufacturing/m3/"); 

HtmlSelect select = (HtmlSelect) page.getElementByName("advanced_xls"); 

InputStream is = select.setSelectedAttribute("/manufacturing/m3/adv/table2a.xls",true).getWebResponse().getContentAsStream(); 

爲InputStream的,那麼你需要從它創建Excel工作表中的Excel工作表將被下載。

+0

它工作。 有沒有其他方法可以做到這一點? –

+0

你是什麼意思的替代方法? – Kick

+0

使用與上述完全不同的其他類或包?只是出於好奇 –

相關問題