当前位置: 首页 > 知识库问答 >
问题:

如何将数据从Excel工作表获取到jsp页面?

葛磊
2023-03-14

我试图读取一个excel文件并将其显示在jsp页面中,我使用下面的代码,但它收到了一条错误消息。

法典:

<%@page import="org.apache.poi.hssf.usermodel.HSSFSheet"%>
<%@page import="org.apache.poi.hssf.usermodel.HSSFWorkbook"%>
<%@page import="org.apache.poi.hssf.usermodel.HSSFRow"%>
<%@page import="org.apache.poi.hssf.usermodel.HSSFCell"%>
<%@page import="java.io.*" %>
<%@page import="java.util.*" %>
<html>
<table border="1">
<%
 short a=0;
  short b=1;
  short c=2;
  short d=3;
  int i=0;
   String   value1="", value2="",value3=" ", value4="";
    String filename ="a.xlsx"; 
    if (filename != null && !filename.equals("")) {
    try{
    FileInputStream fs =new FileInputStream(filename);
    HSSFWorkbook wb = new HSSFWorkbook(fs);
    for (int k = 0; k < wb.getNumberOfSheets(); k++){
    int j=i+1;
    HSSFSheet sheet = wb.getSheetAt(k);
    int rows  = sheet.getPhysicalNumberOfRows();
    for (int r = 0; r < rows; r++){
    HSSFRow row   = sheet.getRow(r);
    int     cells = row.getPhysicalNumberOfCells(); 
    out.write("<br>");
    HSSFCell cell1  = row.getCell(a);
      value1 = cell1.getStringCellValue();
      HSSFCell cell2  = row.getCell(b);
        value2 = cell2.getStringCellValue();
         HSSFCell cell3  = row.getCell(c);
         value3 = cell3.getStringCellValue();
          HSSFCell cell4  = row.getCell(d);
          value4 = cell4.getStringCellValue();
    %>
    <tr><td><%=value1%></td><td><%=value2%></td><td><%=value3%></td><td><%=value4%></td></tr>
    <%
    }
        i++;
    }
    }
    catch(Exception e){
        System.out.println(e);
    }
    }
    %>
    </table>
    </html>

错误信息

HTTP 状态 500 - 无法编译 JSP 的类: 键入异常报告消息 无法编译 JSP 的类: 说明 服务器遇到内部错误,导致无法满足此请求。异常组织 apache.jasper.Jasper异常: 无法编译 JSP 的类: 在生成的 java 文件中的行 [14] 处发生错误: [C:\用户\Vu\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\jpsexcel\org\apache\jsp\index_jsp.java] 只能导入一个类型。org.apache.poi.hssf.usermodel.HSSFSheet 解析为一个包

生成的java文件[C:\Users\Vu\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\jpsexcel\org\apache\jsp\index_jsp.java]的第[15]行出错,只能导入类型。org.apache.poi.hssf.usermodel。HSSFWorkbook解析为一个包在生成的java文件[C:\Users\Vu\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\jpsexcel\org\apache\jsp\index_jsp.java]的第[16]行发生错误,只能导入类型。org.apache.poi.hssf.usermodel。HSSFRow解析为一个包在生成的java文件[C:\Users\Vu\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\jpsexcel\org\apache\jsp\index_jsp.java]的第[17]行发生错误,只能导入类型。org.apache.poi.hssf.usermodel。HSSFCell解析为一个包jsp文件:/index中第20行出现错误。jsp HSSF工作簿无法解析为类型17:if(filename!=null

jsp文件中的第23行出现错误:/index.jsp无法将HSSFSheet解析为类型20:hssf workbook WB = new hssf workbook(fs);21:for(int k = 0;k

在 jsp 文件: /index 中的第 29 行发生错误.jsp HSSFCell 无法解析为类型 26: HSSF行 = 工作表.getRow(r);27: 整型细胞 = 行.get物理细胞数();28:
写出来(“
”);29: HSS细胞细胞1 = 行30:
值1 = 单元格1.获取字符串单元格值(); 31: HSSFell 单元格 2 = 行.getCell(b); 32: 值 2 = 单元格 2.get字符串单元格值();在 jsp 文件: /index.jsp行 31 处发生错误,HSSFCell 无法解析为类型 28: out.write(“
);29: HSS细胞细胞1 = 行30: 值 1 = 单元格 1.获取字符串单元格值();31: HSS细胞细胞2 = 行32: 值2 = 单元格 2.获取字符串单元格值();33:
HSSF细胞3 = 行.获取细胞(c); 34: 值3 = 单元格3.获取字符串单元格值();在行: 33 在 jsp 文件中发生错误: /index.jsp HSSFCell 无法解析为类型 30:
值 1 = 单元格 1.get字符串单元格值(); 31: HSSFell 单元格 2 = 行.getCell(b); 32: 值 2 = 单元格 2.getStringCellValue(); 33:
HSSFell 单元格 3 = 行.getCell(c); 34: 值 3 = 单元格 3.get字符串单元格值(); 35: HSSFell 单元格 4 = 行.getCell(d); 36: 值4 = 单元格 4.getStringCellValue();

在 jsp 文件中的行: 35 处发生错误: /index.jsp HSSFCell 无法解析为类型 32: 值2 = 单元格 2.get字符串单元格值();33: HSS细胞细胞3 = 行34: 值3 = 单元格 3.获取字符串单元格值();35: HSS细胞细胞4 = 行36: 值4 = 单元格4.获取字符串单元格值();37: %

请注意,Apache Tomcat/8.0.26日志中提供了对根本原因的完整堆栈跟踪。

共有1个答案

彭雨华
2023-03-14

使用 POI 在 jsp 中上传读取的 Excel 文件

您可以通过jsp从excel文件读取数据来检查此问题。

İf我是你,我会研究如何处理excel工作表与jsp和处理它。之后,我创建后端java对象用于从工作表读取数据,并将工作表从jsp发送到后端java对象。

 类似资料:
  • 我可以知道如何从Katalon Studio的excel工作表中读取数据,以便从文件中读取APIendpoint以检查其输出吗? 如何用java编写代码来运行URL并验证来自APIendpoint的响应?

  • 您好,这里的场景是我想在页面的文本字段中输入一些值,在此之前,我需要使用xpath查找文本字段。 所以在这里,我在Excel表中有这些字段的值和xpath。如何让上面的代码工作?两个片段都不起作用或显示任何错误。 如能回复,我们将不胜感激。

  • 问题内容: 我有一个5页的Excel文件(.xls格式),我想用我的熊猫数据框的内容替换5页的内容。 问题答案: 根据您的上述需求,您将需要同时使用Python(用于导出熊猫数据框)和VBA(用于删除现有工作表内容并复制/粘贴外部数据)。 使用Python:使用to_csv或to_excel方法。我建议使用to_csv方法,该方法对较大的数据集效果更好。 使用VBA:将源复制并粘贴到目标范围。 幸

  • 如何在Katalon Studio中从excel工作表(工作表1、工作表2...等)中读取数据。我可以从一张表中读取数据。但是我面临着多张纸的困难。

  • 我在servlet里有一段代码 我有一个ajax代码 我有一个jsp代码 如何通过ajax将servlet中list的值分配给jsp中的allProduct

  • main.java Controller/Controller.java 模型/ConnectDB.java 查看/fxmlSample.fxml 错误: 错误:(64,9)Java:类Sample.Controller.Controller中的method initData无法应用于给定类型;必需:javafx.event.actionevent找到:没有参数原因:实际和正式参数列表的长度不同