gpt4 book ai didi

java - 我收到错误::org.apache.poi.openxml4j.exceptions.InvalidFormatException 无法解析

转载 作者:行者123 更新时间:2023-12-02 07:57:48 24 4
gpt4 key购买 nike

我收到错误::org.apache.poi.openxml4j.exceptions.InvalidFormatException 无法解析。

这里是我的java类的代码...我想要的是生成一个Excel报告..请告诉我如何在transformer.transformXLS(templateFileName, beans, destFileName)方法中给出路径..我应该复制excel 文件位于我的网络项目中?

我使用 takeinput.jsp 从用户::获取输入作为 id,然后 id 的值将转到 ReportServlet,然后转到 ReportGen...我在其中编写 jdbc 代码以从数据库获取值。并生成 Excel 工作表。请帮忙 ??

takeinput.jsp

<body>

<form id="reportformid" name="reportform" action="ReportServlet" method="get">
Enter the ID of the person :: <input id="idid" type="text" name="id"/><br><br><br>

<button id="button" name="reportbutton" type="submit"></button>
</form>

</body>

web.xml::

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<servlet>
<servlet-name>Name</servlet-name>
<servlet-class>
classes.web.ReportServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Name</servlet-name>
<url-pattern>/ReportServlet</url-pattern>
</servlet-mapping>
</web-app>

ReportServlet.java(仅get方法)

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String id = request.getParameter("id");
ReportGen obj = new ReportGen();
obj.getReport(id);
}

ReportGen.java

package classes.web;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.HashMap;
import java.util.Map;

import org.apache.commons.beanutils.RowSetDynaClass;

import net.sf.jxls.report.ResultSetCollection;
import net.sf.jxls.transformer.XLSTransformer;

public class ReportGen {

HandleConnections obj = new HandleConnections();
Connection con=null;
ResultSet rs = null;
Statement st = null;
public void getReport(String id){
String templateFileName = "/GenerateReport/WebContent/WEB-INF/lib/Source.xls";
String destFileName = "/GenerateReport/WebContent/WEB-INF/lib/Dest.xls";
try{
con = obj.getConnection();
st = con.createStatement();
String query = "SELECT F_Name, L_Name, P_Address FROM Employee_Table";
rs = st.executeQuery(query);
RowSetDynaClass rsdc = new RowSetDynaClass(rs, false);
Map beans = new HashMap();
beans.put( "employee", rsdc.getRows() );
XLSTransformer transformer = new XLSTransformer();
transformer.transformXLS( templateFileName, beans, destFileName);

} throws ParsePropertyException
catch(Exception e){System.out.println(e);}
}
}

堆栈跟踪::

Feb 22, 2012 3:09:17 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [Name] in context with path [/GenerateReport] threw exception [Servlet execution threw an exception] with root cause
java.lang.Error: Unresolved compilation problems:
The type org.apache.poi.openxml4j.exceptions.InvalidFormatException cannot be resolved. It is indirectly referenced from required .class files
The type org.apache.poi.ss.usermodel.Workbook cannot be resolved. It is indirectly referenced from required .class files
The method transformXLS(String, Map, String) from the type XLSTransformer refers to the missing type InvalidFormatException
Syntax error on tokens, delete these tokens

at classes.web.ReportGen.<init>(ReportGen.java:32)
at classes.web.ReportServlet.doGet(ReportServlet.java:30)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

最佳答案

您可能错过了Apache POI jar在你的类路径中。

关于java - 我收到错误::org.apache.poi.openxml4j.exceptions.InvalidFormatException 无法解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9392911/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com