Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用java代码在jsp页面中查看excel文件?_Java_Excel_Jsp_Jakarta Ee - Fatal编程技术网

如何使用java代码在jsp页面中查看excel文件?

如何使用java代码在jsp页面中查看excel文件?,java,excel,jsp,jakarta-ee,Java,Excel,Jsp,Jakarta Ee,如何使用Java代码在JSP页面中查看Excel文件 我想在JSP页面中直接显示Excel页面,而不仅仅是数据。完全Excel页面与Excel格式 public static void main(String args[]) { } <pre> <% String[][] book_data = (String[][]) request.getAttribute("modulesList"); System.out.println("book_data: "

如何使用Java代码在JSP页面中查看Excel文件

我想在JSP页面中直接显示Excel页面,而不仅仅是数据。完全Excel页面与Excel格式

public static void main(String args[]) {
}
<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>

您可以使用下面的代码将数据从servlet传递到jsp,它可以很好地工作Modules.java(servlet页面)和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);
FileInputStream file1=newfileinputstream(新文件(“您的文件路径”);
System.out.println(文件1);
file.close();
//创建包含对.xlsx文件引用的工作簿实例
XSSF工作簿工作簿111=新XSSF工作簿(文件1);
//从工作簿中获取第一张/所需的工作表
XSSFSheet sheet111=工作簿111.getSheetAt(0);
Object[]bookData_read=新字符串[sheet111.getLastRowNum()+1][3];
int row_count11=0;
迭代器rowIterator111=sheet111.Iterator();
while(roweiterator111.hasNext())
{
行row111=行迭代器111.next();
如果(第11行=0){
行数11++;
继续;
}
如果(行数11>sheet111.getLastRowNum())
打破
Cell cell11=row111.getCell(4);
字符串cellvalue1=“”;
如果(cell11!=null&&!“.equals(cell11.getStringCellValue())| | cell11!=null&&!”。equals(cell11.getNumericCellValue()){
开关(cell11.getCellType()){
case Cell.Cell\u类型\u字符串:
//System.out.print(cell.getStringCellValue());
cellvalue1=cell11.getStringCellValue();
打破
case Cell.Cell\u类型\u布尔值:
//System.out.print(cell.getBooleanCellValue());
cellvalue1=”“+cell11.getBooleanCellValue();
打破
case Cell.Cell\u类型\u数值:
//System.out.print(cell.getNumericCellValue());
cellvalue1=”“+cell11.getNumericCellValue();
打破
}}
字符串module1=cellvalue1;
//系统输出打印项次(“模块”+模块1);
//系统输出打印项次(cellvalue);
bookData\u read[行数11][0]=cellvalue1;
if(row111.getCell(5)!=null)
{
cell2=row111.getCell(5);
cellvalue1=“”;
如果(cell2!=null&&!“.equals(cell2.getStringCellValue())){
开关(cell2.getCellType()){
case Cell.Cell\u类型\u字符串:
//System.out.print(cell.getStringCellValue());
cellvalue1=cell2.getStringCellValue();
打破
case Cell.Cell\u类型\u布尔值:
//System.out.print(cell.getBooleanCellValue());
cellvalue1=”“+cell2.getBooleanCellValue();
打破
case Cell.Cell\u类型\u数值:
//System.out.print(cell.getNumericCellValue());
cellvalue1=”“+cell2.getNumericCellValue();
打破
}  }}
字符串子模块=cellvalue1;
//System.out.println(“子模块”+子模块);
//系统输出打印项次(cellvalue);
bookData_read[行数11][1]=单元格值1;
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=“”;
如果(cell3!=null&&!“.equals(cell3.getStringCellValue())){
开关(cell3.getCellType()){
case Cell.Cell\u类型\u字符串:
cellvalue1=cell3.getStringCellValue();
打破
case Cell.Cell\u类型\u布尔值:
cellvalue1=”“+cell3.getBooleanCellValue();
打破
case Cell.Cell\u类型\u数值:
cellvalue1=”“+cell3.getNumericCellValue();
中断;}}
字符串温度=cellvalue1;
bookData_read[行数11][2]=cellvalue1;
}
否则{
继续;
}
行数11++;
}
工作簿111.close();
setAttribute(“modulesList”,bookData_read);
RequestDispatcher rd=request.getRequestDispatcher(“/All_Modules.jsp”);
转发(请求、响应);
Modules.jsp页面


高级文书主任。
模块
子模块
测试用例ID
全选
截屏

对于客户端,有Excel,对于web,有Google Sheet。 如果获取整个Excel文件的原因是公式,请检查以下链接

POI支持350多个内置功能。 或者,如果您希望您的需求能够顺利实现