2013-06-05 49 views
1

我有一個Excel文件這樣的:如何從excel文件中獲取價值?

excel file

我想用一個for循環得到兩個值,然後從for循環外部訪問它們。 兩者都將用作xml元素的值。 我已經寫了這樣的代碼:

 String longSec = null; 
     Double long_sec = null; 
     int column_long_sec = 33; 
     int c; 

     for(c=1; c<=2; c++) { 

       row = sheet.getRow(c); 

        long_sec = row.getCell(column_long_sec).getNumericCellValue(); 
        longSec = Double.toString(long_sec); 
     } 

     Element sid_long_sec = document.createElement("SID_LONG_SEC"); 
     document.appendChild(sid_long_sec); 
     sid_long_sec.appendChild(document.createTextNode(longSec)); 

的代碼給像這樣的輸出:

<SID_LONG_SEC>54.61</SID_LONG_SEC> 

但是,我想要的代碼給出了這樣的輸出:

<SID_LONG_SEC>48.94</SID_LONG_SEC> 
<SID_LONG_SEC>54.61</SID_LONG_SEC> 

怎麼做?

任何想法或幫助將不勝感激

最好的問候,

尤努斯

回答

2

如何做這一切在循環中?

String longSec = null; 
    Double long_sec = null; 
    int column_long_sec = 33; 
    int c; 

    for(c=1; c<=2; c++) { 
     row = sheet.getRow(c); 
     long_sec = row.getCell(column_long_sec).getNumericCellValue(); 
     longSec = Double.toString(long_sec); 
     Element sid_long_sec = document.createElement("SID_LONG_SEC"); 
     document.appendChild(sid_long_sec); 
     sid_long_sec.appendChild(document.createTextNode(longSec)); 
    } 

如果你要離開XML外循環處理,你必須從Excel文件讀取的值存儲在某些容器(數組或集合),然後創建另一個循環中,你會遍歷該容器並將值寫入XML。

+0

感謝您的回覆和建議,但您可以用代碼幫助? – yunus

+0

@yunus不客氣。我確實包含了代碼。或者你想要替代實現? – Eran

+0

我的意思是代碼來執行你的建議,即將從excel文件中讀取的值存儲在容器中,然後創建另一個循環來遍歷該容器並將值寫入XML。 我在那裏卡住了。 如果你有其他的實現方式,那是什麼樣的選擇? – yunus

4

您正在循環外創建元素,因此它只取最後一個longSec值。

Element sid_long_sec = document.createElement("SID_LONG_SEC"); 
document.appendChild(sid_long_sec); 
sid_long_sec.appendChild(document.createTextNode(longSec)); 

應該是內環路

+0

感謝您的回覆。我知道它,但我需要在循環外部創建元素:) – yunus