Sorry Captain, my problem is that I cant extract the imported Excel data to my program.
Everytime I tried to read the file, theres an error FileNotFoundException
java.io.FileNotFoundException: [B@1b97d73 (The system cannot find the file specified)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at managedbeans.TableImporter.onImportFile(TableImporter.java:121)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclnt.jsfserver.util.StackedMethodExpression.invoke(StackedMethodExpression.java:68)
at org.eclnt.jsfserver.elements.MethodExpressionDelegator.invoke(MethodExpressionDelegator.java:114)
at org.eclnt.jsfserver.elements.MethodExpressionDelegator.processAction(MethodExpressionDelegator.java:209)
at org.eclnt.jsfserver.elements.BaseActionComponent.broadcast(BaseActionComponent.java:434)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:658)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.eclnt.jsfserver.util.ThreadingFilter.doFilter(ThreadingFilter.java:349)
at org.eclnt.jsfserver.util.ThreadingFilter.doFilter(ThreadingFilter.java:91)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.eclnt.jsfserver.util.SecurityFilter.doFilter(SecurityFilter.java:141)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.eclnt.jsfserver.util.CompressionFilter.doFilter(CompressionFilter.java:38)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1099)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:670)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
Here's the Code
Code:
public void onImportFile(javax.faces.event.ActionEvent event) {
if (event instanceof BaseActionEventUpload) {
try {
ConnectionPool.getInstance();
Base.open(ConnectionPool.dataSourcePooled);
BaseActionEventUpload bae = (BaseActionEventUpload) event;
byte[] bytes=bae.getHexBytes();
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(String.valueOf(bytes)));
XSSFWorkbook wb = new XSSFWorkbook(String.valueOf(fs));
XSSFSheet sheet = wb.getSheetAt(0);
XSSFRow row;
DataFormatter df = new DataFormatter();
int rows; // No of rows
rows = sheet.getPhysicalNumberOfRows();
int cols = 0; // No of columns
int tmp = 0;
for(int i = 1; i <= rows; i++) {
row = sheet.getRow(i);
if(row != null) {
tmp = sheet.getRow(i).getPhysicalNumberOfCells();
if(tmp > cols) cols = tmp;
Record = new MyRow();
Record.setDate(String.valueOf(df.formatCellValue(row.getCell(0))));
Record.setDay(String.valueOf(row.getCell(1)));
Record.setProfile_Code(String.valueOf(df.formatCellValue(row.getCell(2))));
Record.setName(String.valueOf(row.getCell(3)));
Record.setDepartment(String.valueOf(row.getCell(4)));
Record.setPosition(String.valueOf(row.getCell(5)));
Record.setMorning_IN(String.valueOf(df.formatCellValue(row.getCell(6))));
Record.setMorning_OUT(String.valueOf(df.formatCellValue(row.getCell(7))));
Record.setAfternoon_IN(String.valueOf(df.formatCellValue(row.getCell(8))));
Record.setAfternoon_OUT(String.valueOf(df.formatCellValue(row.getCell(9))));
m_rowBind.getItems().add(Record);
}
}
} catch (Throwable t) {
t.printStackTrace();
Statusbar.outputAlert(t.toString()).setLeftTopReferenceCentered();
} finally {
Base.close();
}
}
}
Regards, Marc