2015-06-25 70 views
0

我有一個程序可以創建一個HTML表格,並將表格中的數據填充到特定的列中。目前,我的程序將所有數據放在一列中,並將其他數據留空。需要幫助填充所需數據的每列。我已經包含了部分代碼以及我的輸出表的圖像。請不要他們是關於填充列的數據類型的其他問題,但我想先從上面概述的問題開​​始。無法正確填充HTML表格中的列?

public class HtmlDataTable { 

    private static final String FileDemo = null; 



    public static void writehtmltable(Set<String> filenameSet){ 
     if (filenameSet == null) 
      return; 

     //creates table in the following path 
     File htmltable = new File("C:/test/Output.html"); 

     try (BufferedWriter bw = new BufferedWriter(new FileWriter(htmltable))) { 

      //write html data table 
      bw.write(htmltop); 
      // "<th>POM File Data</TH> <TH>Lib Directory Files</TH> <TH>Missing Jarfiles</TH>"; 

      for (String jarfilename : filenameSet) { 

       String lines="<tr> <td> </td> <td> </td> <td>"+ jarfilename + "</td> </tr>"; // to fill Missing jarfile column 

       String line="<tr> <td> </td> <td> </td> <td>"+ jarfilename + "</td> </tr>";// to fill lib directory file column 
       String lin="<tr> <td> </td> <td> </td> <td>"+ jarfilename + "</td> </tr>";// to fill the Pom File column 
       bw.write(lines); 
       bw.write(line); 
       bw.write(lin); 

      } 


      bw.write(htmlbottom); 
     } catch (IOException e) { 
      e.printStackTrace(); 


     } 

    } 

    // Code for HTML Table 
    private static String htmltop = "<!DOCTYPE html>\n"+ 
            "<html>\n"+ 

             "<head>"+ 
             "<title>Jar Filename Existance Check</title>"+ 
             "<style>"+ 
             "table, th, td {"+ 
             " border: 2px solid black;"+ 
             "}"+ 
             "</style>"+ 
             "</head>"+ 
             "<body>"+ 
             "<table>\n"+ 
             " <tr>  <th colspan='100'>" + 
             "<h3><br>Jarfilename Existance Check</h3>  </th> </tr>" + 
             "<th>POM File Data</th> <th>Lib Directory Files</th> <th>Missing Jarfiles</th>"; 


    private static String htmlbottom = "</table></body></html>"; 


    public static void main(String[] args) { 
     new HtmlDataTable().writehtmltable(null); 
    } 


} 

Output written to table

+0

我很困惑。現在你將同一個jarname放在同一列三次 - 這正是你的輸出。 '字符串林= 「​​​​​​」+ jarfilename +「」;'兩個空'td's接着罐子名稱。 – MikeTheLiar

+0

我想這個數據填充每個列而不是同一列3次。 – FullNelson

+0

那麼你就需要3 lines.just一個就夠了 '串線= 「​​」+ jarfilename +「​​」+ jarfilename +「​​」+ jarfilename +「」' –

回答

1

如果你只是想在最遠的列中的內容一旦裏面的東西(直接的內容或一些Java變量):

for (String jarfilename : filenameSet) { 
      String lines="<tr> <td> </td> <td> </td> <td>"+ jarfilename + "</td> </tr>"; 
      bw.write(lines); 
     } 

如果你想在所有三列相同的信息:

for (String jarfilename : filenameSet) { 
      String lines="<tr> <td>"+ jarfilename + "</td> <td>"+ jarfilename + " </td> <td>"+ jarfilename + "</td> </tr>"; 
      bw.write(lines); 
     } 

你看到相同的內容重複三次s ,因爲這就是你的代碼寫入的內容 - 你正在寫三次向表格寫入相同的內容。如果刪除多餘的寫入命令(並且再次強調,我不能強調這些,他們連續三次寫入相同內容),您將看不到額外的表格行。

+0

感謝您的幫助,解決了填充列的問題。 – FullNelson

+0

我知道,我看到代碼3次這就是我需要解決的下一個問題。我應該發佈一個新問題還是在這裏解決? – FullNelson

+0

這應該作爲一個新問題發佈。我鼓勵你查看[Tour](http://stackoverflow.com/tour)和[Help Center](http://stackoverflow.com/help)以瞭解更多關於Stack Overflow及其工作原理的信息。很高興我能夠提供幫助,我們要求您表明問題已通過接受答案得到解決(點擊幫助您解決問題的答案旁邊的綠色複選標記)。 – MikeTheLiar

0

正在發生,因爲你沒有設置任何數據來顯示這些列。 <td> </td>

你還沒有提到你想放在那裏的數據。數據來自哪裏。

就像<td>"+ jarfilename + "</td>,你需要寫在這裏你空的TD標籤<td> </td>

+0

我想在那裏添加的數據導致我有一個完全不同的問題,所以現在我想解決正確填充列的問題。在設置要寫入這些列的數據方面,我錯過了哪些代碼? – FullNelson

+0

更新了我的答案 –