2016-07-13 7 views
0

java/jspにWebアプリケーションがあります。私たちのアプリケーションには複数のタブがあり、タブの1つにExcelシートからデータを表示する必要があります。私は、Webページとして保存オプションを使用してExcelシートをdata.htmlファイルに変換しようとしました。私はタブでHTMLファイルを含めるしようとする。しかし、イムはjspページでデータを表示する

This content cannot be displayed in a frame 

以下のエラーメッセージを取得し、私はまた、EclipseでTomcatサーバーを経由してhtmlファイルを実行しようとしましたが、上記のメッセージを取得。私がWebブラウザで開くと、データが正しく表示されます。

私は、jspページに表示されるExcelデータを取得する際に助けが必要です。これに関する助けは大いに感謝しています。ありがとう

+0

ウェブアプリケーションのURLは何ですか?また、そのHTMLファイルのURLはExcelから変換されますか? –

+0

webapplicationのURLは "http:// localhost:8080/pm/login.jspです。私はTomcatサーバーを使用してhtmlファイルを実行できません。eclipseでブラウザでファイルを開こうとすると、表示されるURLはファイル:/// D:/PMProject/workspace/PM/WebContent/Data.html – vr3w3c9

答えて

0

Excelシートがサーバー側(Tomcat、Glassfish、Wildfly、または他のサーブレットコンテナ)にあるときは、POIを使用して、いくつかのラインコードを使ってExcelファイルを読み込むことができます。

https://poi.apache.org/spreadsheet/quick-guide.html#FileInputStream

次にあなたは少しダイナミックなJSPを作成することができます... HTMLのテーブルに結果を表示します。

0

Columns marked with read box willl be displayed i have attached image here

あなたはそれが正常に Modules.java(サーブレットページ)とModules.jspページのコードが

FileInputStream file1 = new FileInputStream(new File("your_file_path")); 
      System.out.println(file1); 
      file.close();  
      //Create Workbook instance holding reference to .xlsx file 
      XSSFWorkbook workbook111 = new XSSFWorkbook(file1); 

      //Get first/desired sheet from the workbook 
      XSSFSheet sheet111 = workbook111.getSheetAt(0); 


      Object[][] bookData_read = new String[sheet111.getLastRowNum()+1][3]; 

      int row_count11 = 0; 

      Iterator<Row> rowIterator111 = sheet111.iterator(); 

      while (rowIterator111.hasNext()) 
      { 
       Row row111 = rowIterator111.next(); 
       if (row_count11 == 0) { 
        row_count11++; 
       continue; 

       } 

       if (row_count11 > sheet111.getLastRowNum()) 
        break; 



       Cell cell11 = row111.getCell(4); 
       String cellvalue1 = ""; 

       if (cell11 != null && ! "".equals(cell11.getStringCellValue()) ||cell11 != null && ! "".equals(cell11.getNumericCellValue())) { 

        switch (cell11.getCellType()) { 

         case Cell.CELL_TYPE_STRING: 
          //System.out.print(cell.getStringCellValue()); 
          cellvalue1 = cell11.getStringCellValue(); 
          break; 
         case Cell.CELL_TYPE_BOOLEAN: 
          //System.out.print(cell.getBooleanCellValue()); 
          cellvalue1 = "" + cell11.getBooleanCellValue(); 
          break; 
         case Cell.CELL_TYPE_NUMERIC: 
          //System.out.print(cell.getNumericCellValue()); 
          cellvalue1 = "" + cell11.getNumericCellValue(); 
          break; 

        }} 


        String module1 = cellvalue1; 
        //System.out.println("module"+module1); 
        //System.out.println(cellvalue); 
        bookData_read[row_count11][0] = cellvalue1; 


        if(row111.getCell(5)!=null) 
        { 
          Cell cell2 = row111.getCell(5); 
          cellvalue1 = ""; 
         if (cell2 != null && ! "".equals(cell2.getStringCellValue())) { 



        switch (cell2.getCellType()) { 
         case Cell.CELL_TYPE_STRING: 
          //System.out.print(cell.getStringCellValue()); 
          cellvalue1 = cell2.getStringCellValue(); 
          break; 
         case Cell.CELL_TYPE_BOOLEAN: 
          //System.out.print(cell.getBooleanCellValue()); 
          cellvalue1 = "" + cell2.getBooleanCellValue(); 
          break; 
         case Cell.CELL_TYPE_NUMERIC: 
          //System.out.print(cell.getNumericCellValue()); 
          cellvalue1 = "" + cell2.getNumericCellValue(); 
          break; 
        } }} 
        String submodule = cellvalue1; 
        //System.out.println("submodule"+submodule); 

        // System.out.println(cellvalue); 
        bookData_read[row_count11][1] = cellvalue1; 



        if(row111.getCell(5)!=null && ! "".equals(row111.getCell(5).getStringCellValue())) 
        { 
    //    if(row.getCell(7)!=null && ! "".equals(row.getCell(7).getStringCellValue())) 
    //    { 
    //      
        Cell cell3 = row111.getCell(8); 
        cellvalue1 = ""; 
        if (cell3 != null && ! "".equals(cell3.getStringCellValue())) { 
        switch (cell3.getCellType()) { 
         case Cell.CELL_TYPE_STRING: 

          cellvalue1 = cell3.getStringCellValue(); 
          break; 
         case Cell.CELL_TYPE_BOOLEAN: 

          cellvalue1 = "" + cell3.getBooleanCellValue(); 
          break; 
         case Cell.CELL_TYPE_NUMERIC: 

          cellvalue1 = "" + cell3.getNumericCellValue(); 
          break;}} 


        String temp = cellvalue1; 
        bookData_read[row_count11][2] = cellvalue1; 

        } 
        else{ 

         continue; 
        } 


        row_count11++; 



      } 
      workbook111.close(); 

    request.setAttribute("modulesList", bookData_read); 
RequestDispatcher rd = request.getRequestDispatcher("/All_Modules.jsp"); 
     rd.forward(request, response); 
の下に与えられている動作するコードの下に使用して、JSP、サーブレットからのデータを渡すことができます

Modules.jspページ

<pre> <% 
    String[][] book_data = (String[][]) request.getAttribute("modulesList"); 
    System.out.println("book_data: " + book_data); 
    %> 
    <table class="table table-striped jambo_table bulk_action"> 
         <thead> 
          <tr class="headings"> 

          <th class="column-title"><center>Sr No. </center></th> 
          <th class="column-title"><center>Modules</center></th> 
          <th class="column-title"><center>Sub Modules </center></th> 
            <th class="column-title"><center>Test Case ID</center></th> 

        <th class="column-title"><center>Select All&nbsp;&nbsp;<input type="checkbox" class="chkSelectAll btn btn-primary" /></center></th> 
         <th class="column-title"><center>Screen Shot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</center></th> 


         </thead> 
    <% 
    int counter11 = 1; 
    for (String[] device : book_data) { 
     if (device[0] != null && device[2] != null) { 
      System.out.println("device[0]: " + device[0]); 
    %> 
    <tr> 
     <td><center><%=counter11 %></center></td> 
     <td><center><%=device[0] %></center></td> 
     <td><center><%=device[1] %></center></td> 
     <td><center><%=device[2] %></center></td> 

     <td><center><input type="checkbox" id="check-all" class="flat" name="selectedmodules" value=<%=device[2]%>></center></td> 
     <td><center><input type="checkbox" id="check-all" class="flat" name="screenshots" value=<%=device[2]%>></center></td> 

    </tr> 

    <% 
    counter11++; 
     } 
    } 
    %> 
         </table> 
    </pre> 
+0

ちょうど

タグを削除してあなたのJSPにコードを追加する –
                        
                            
                                
                            
                        
                    

関連する問題