2016-04-06 4 views
2

У меня возникли проблемы с отображением CSV-файла в HTML. Как сделать следующую строку в моем файле csv в другую строку в таблице HTML с помощью цикла? Я все еще новичок в этом jsp ... Пожалуйста, дайте мне некоторые идеи, чтобы заставить его работать.Таблицы CSV для HTML

<body> 
     <% 
       String fName = "F:\\web\\Sales.csv"; 
       String thisLine; 
       int count=0; 
       FileInputStream fis = new FileInputStream(fName); 
       DataInputStream myInput = new DataInputStream(fis); 

     %> 
     <table> 
     <% 
     out.print("<table border = 1><thead><tr><th>Customer</th><th>Customer Type</th><th>Purchase</th></tr></thead><tbody‌>"); 
     while ((thisLine = myInput.readLine()) != null){ 
     String strar[] = thisLine.split(";"); 
        for(int j=0;j<strar.length;j++){ 
            out.print("<td>" +strar[j]+ "</td>"); 
          } 
        out.println("\n"); 
        } 
     %> 
     </table> 
    </body> 

ответ

1

Q: Не вы должны напечатать <tr> перед каждой новой строкой, и </tr> после?

ТАКЖЕ:

  1. У вас есть слишком много <table> элементов - удалить первый.

  2. Не думаю, что <tbody> необходим ... но если у вас есть это, вы должны закрыть его с помощью </tbody>.

РЕКОМЕНДУЕМЫХ ИЗМЕНЕНИЯ (я на самом деле не пробовал их ...):

<body> 
    <table border = 1> 
     <tr><th>Customer</th><th>Customer Type</th><th>Purchase</th></tr> 
    <% 
    String fName = "F:\\web\\Sales.csv"; 
    String thisLine; 
    int count=0; 
    FileInputStream fis = new FileInputStream(fName); 
    DataInputStream myInput = new DataInputStream(fis); 

    while ((thisLine = myInput.readLine()) != null){ 
     String strar[] = thisLine.split(";"); 
     out.print("<tr>"); 
     for(int j=0;j<strar.length;j++){ 
     out.print("<td>" +strar[j]+ "</td>"); 
     } 
     out.println("</tr>"); 
    } 
    %> 
    </table> 
</body> 
+0

Спасибо за идею! Я попробую! :) @ paulsm4 –

Смежные вопросы