how to read excel file using struts2 Application while it converted to .tmp -
this jsp page... upload excel file...where need uplode 2 different excel file different action... hope tag self explanatory...
<body> <s:actionerror /> <s:fielderror /> <s:form action="admin" method="post" enctype="multipart/form-data" theme="simple"> <big>import batch , tan details</big> <br> <s:file name="uploadtobatch" label="select excel file batch import" /> <s:submit action="importbatchandtandetailsadmin" value="import" /> <br> <big>allocate batch</big> <br> <s:file name="uploadtoallocate" label="select excel file allocation" /> <s:submit action="allocateadmin" value="allocate" onclick=""/> </s:form> </body>
next strut.xml configuration these 2 actions...
<action name="*admin" method="{1}" class="controller.adminaction"> <interceptor-ref name="fileupload"> <param name="maximumsize">2572864</param> <param name="allowedtypes">application/ms-excel,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</param> </interceptor-ref> <interceptor-ref name="defaultstack"></interceptor-ref> <result name="error">adminpage.jsp</result> <result name="input">adminpage.jsp</result> <result name="success">adminpage.jsp</result> </action>
next action class...
package controller; import java.io.file; import jxl.sheet; import jxl.workbook; import com.opensymphony.xwork2.actionsupport; @suppresswarnings("serial") public class adminaction extends actionsupport { private file uploadtobatch;//the actual file private file uploadtoallocate; private string uploadcontenttype; //the content type of file private string uploadfilename; //the uploaded file name authorindexingdao dao = new authorindexingdao(); //getters , setters... public file getuploadtobatch() { return uploadtobatch; } public void setuploadtobatch(file uploadtobatch) { this.uploadtobatch = uploadtobatch; } public file getuploadtoallocate() { return uploadtoallocate; } public void setuploadtoallocate(file uploadtoallocate) { this.uploadtoallocate = uploadtoallocate; } public string getuploadcontenttype() { return uploadcontenttype; } public void setuploadcontenttype(string uploadcontenttype) { this.uploadcontenttype = uploadcontenttype; } public string getuploadfilename() { return uploadfilename; } public void setuploadfilename(string uploadfilename) { this.uploadfilename = uploadfilename; } //ececute method... public string execute (){ return success; } //other methods.... public string importbatchandtandetails(){ try { workbook w; w = workbook.getworkbook(uploadtobatch); sheet sheet = w.getsheet(0); system.out.println(sheet.getname()); } catch (exception e) { e.printstacktrace(); system.out.println(e.getmessage()); addactionerror(e.getmessage()); return error; } return success; } public string allocate(){ try { system.out.println(uploadfilename); system.out.println(uploadtoallocate.getname()); workbook w; w = workbook.getworkbook(uploadtoallocate); sheet sheet = w.getsheet(0); system.out.println(sheet.getname()); } catch (exception e) { e.printstacktrace(); return error; } return success; } }
while import in console...
null upload__6e26fdaa_137cba00800__8000_00000001.tmp
and exception thrown near w = workbook.getworkbook(uploadtoallocate);
was...
jxl.read.biff.biffexception: unable recognize ole stream @ jxl.read.biff.compoundfile.<init>(compoundfile.java:116) @ jxl.read.biff.file.<init>(file.java:127) @ jxl.workbook.getworkbook(workbook.java:221) @ jxl.workbook.getworkbook(workbook.java:198) @ controller.adminaction.allocate(adminaction.java:154) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:57) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) @ java.lang.reflect.method.invoke(method.java:601) @ com.opensymphony.xwork2.defaultactioninvocation.invokeaction(defaultactioninvocation.java:452) @ com.opensymphony.xwork2.defaultactioninvocation.invokeactiononly(defaultactioninvocation.java:291) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:254) @ com.opensymphony.xwork2.interceptor.defaultworkflowinterceptor.dointercept(defaultworkflowinterceptor.java:176) @ com.opensymphony.xwork2.interceptor.methodfilterinterceptor.intercept(methodfilterinterceptor.java:98) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:248) @ com.opensymphony.xwork2.validator.validationinterceptor.dointercept(validationinterceptor.java:263) @ org.apache.struts2.interceptor.validation.annotationvalidationinterceptor.dointercept(annotationvalidationinterceptor.java:68) @ com.opensymphony.xwork2.interceptor.methodfilterinterceptor.intercept(methodfilterinterceptor.java:98) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:248) @ com.opensymphony.xwork2.interceptor.conversionerrorinterceptor.intercept(conversionerrorinterceptor.java:133) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:248) @ com.opensymphony.xwork2.interceptor.parametersinterceptor.dointercept(parametersinterceptor.java:207) @ com.opensymphony.xwork2.interceptor.methodfilterinterceptor.intercept(methodfilterinterceptor.java:98) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:248) @ com.opensymphony.xwork2.interceptor.parametersinterceptor.dointercept(parametersinterceptor.java:207) @ com.opensymphony.xwork2.interceptor.methodfilterinterceptor.intercept(methodfilterinterceptor.java:98) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:248) @ com.opensymphony.xwork2.interceptor.staticparametersinterceptor.intercept(staticparametersinterceptor.java:190) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:248) @ org.apache.struts2.interceptor.multiselectinterceptor.intercept(multiselectinterceptor.java:75) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:248) @ org.apache.struts2.interceptor.checkboxinterceptor.intercept(checkboxinterceptor.java:94) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:248) @ org.apache.struts2.interceptor.fileuploadinterceptor.intercept(fileuploadinterceptor.java:314) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:248) @ com.opensymphony.xwork2.interceptor.modeldriveninterceptor.intercept(modeldriveninterceptor.java:100) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:248) @ com.opensymphony.xwork2.interceptor.scopedmodeldriveninterceptor.intercept(scopedmodeldriveninterceptor.java:141) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:248) @ org.apache.struts2.interceptor.debugging.debugginginterceptor.intercept(debugginginterceptor.java:267) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:248) @ com.opensymphony.xwork2.interceptor.chaininginterceptor.intercept(chaininginterceptor.java:142) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:248) @ com.opensymphony.xwork2.interceptor.prepareinterceptor.dointercept(prepareinterceptor.java:166) @ com.opensymphony.xwork2.interceptor.methodfilterinterceptor.intercept(methodfilterinterceptor.java:98) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:248) @ com.opensymphony.xwork2.interceptor.i18ninterceptor.intercept(i18ninterceptor.java:176) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:248) @ org.apache.struts2.interceptor.servletconfiginterceptor.intercept(servletconfiginterceptor.java:164) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:248) @ com.opensymphony.xwork2.interceptor.aliasinterceptor.intercept(aliasinterceptor.java:190) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:248) @ com.opensymphony.xwork2.interceptor.exceptionmappinginterceptor.intercept(exceptionmappinginterceptor.java:187) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:248) @ org.apache.struts2.interceptor.fileuploadinterceptor.intercept(fileuploadinterceptor.java:314) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:248) @ org.apache.struts2.impl.strutsactionproxy.execute(strutsactionproxy.java:52) @ org.apache.struts2.dispatcher.dispatcher.serviceaction(dispatcher.java:485) @ org.apache.struts2.dispatcher.ng.executeoperations.executeaction(executeoperations.java:77) @ org.apache.struts2.dispatcher.ng.filter.strutsprepareandexecutefilter.dofilter(strutsprepareandexecutefilter.java:91) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:243) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:210) @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:240) @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:164) @ org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:462) @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:164) @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:100) @ org.apache.catalina.valves.accesslogvalve.invoke(accesslogvalve.java:562) @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:118) @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:395) @ org.apache.coyote.http11.http11processor.process(http11processor.java:250) @ org.apache.coyote.http11.http11protocol$http11connectionhandler.process(http11protocol.java:188) @ org.apache.tomcat.util.net.jioendpoint$socketprocessor.run(jioendpoint.java:302) @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1110) @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:603) @ java.lang.thread.run(thread.java:722)
i have found reason. excel imported not created in proper manner seems while copied content , pasted in new excel , saved it. later when import new excel works fine.
Comments
Post a Comment