Galera,
Tô fazendo um jsp onde leio uma lista e incluo em um arquivo excel as informações.
Porém, quando chego na linha abaixo ele dá um problema porque a célula está null no excel.
Como faço para selecionar a linha, mesmo ela sendo null, sem dar problemas?
O código do jsp é o seguinte:
<%<a class="mention" href="/u/page">@page</a> import=“com.karsten.datawork.Admv006w1”%><%<a class="mention" href="/u/page">@page</a> import=“java.util.Iterator”%><%<a class="mention" href="/u/page">@page</a> import=“java.util.ArrayList”%><%<a class="mention" href="/u/page">@page</a> import=“java.io.FileInputStream”%><%<a class="mention" href="/u/page">@page</a> import=“org.apache.poi.hssf.usermodel.HSSFCell”%><%<a class="mention" href="/u/page">@page</a> import=“org.apache.poi.hssf.usermodel.HSSFRow”%><%<a class="mention" href="/u/page">@page</a> import=“org.apache.poi.hssf.usermodel.HSSFSheet”%><%<a class="mention" href="/u/page">@page</a> import=“org.apache.poi.hssf.usermodel.HSSFWorkbook”%><%
response.setHeader(“Content-Disposition”, “attachment; filename=“Relatorio.xls””);
HSSFWorkbook workbook;
FileInputStream fi = new FileInputStream(“c:/PadraoPreco.xls”);
workbook = new HSSFWorkbook(fi);
HSSFSheet sheet = workbook.getSheet(“Preco”);
ArrayList lista = (ArrayList)session.getAttribute(“lista”);
Iterator it = lista.iterator();
int i = 6;
while (it.hasNext()) {
HSSFRow row = sheet.getRow(i);
Admv006w1 linha = (Admv006w1) it.next();
HSSFCell cel1 = row.getCell((short) 1);
cel1.setCellValue(linha.getCntabcst().doubleValue());
HSSFCell cel2 = row.getCell((short) 2);
cel2.setCellValue(linha.getNmgrplpr());
HSSFCell cel3 = row.getCell((short) 3);
cel3.setCellValue(linha.getCnpdtcpe());
HSSFCell cel4 = row.getCell((short) 4);
cel4.setCellValue(linha.getNmpdtven());
i++;
}
out.write(new String(workbook.getBytes(),“ISO-8859-1”));
%>
Abaixo está o erro:
org.apache.jasper.JasperException: Exception in JSP: /Excel.jsp:15
12: while (it.hasNext()) {
13: HSSFRow row = sheet.getRow(i);
14: Admv006w1 linha = (Admv006w1) it.next();
15: HSSFCell cel1 = row.getCell((short) 1);
16: cel1.setCellValue(linha.getCntabcst().doubleValue());
17: HSSFCell cel2 = row.getCell((short) 2);
18: cel2.setCellValue(linha.getNmgrplpr());
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:506)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:395)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:419)
org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:211)
org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
root cause
java.lang.NullPointerException
org.apache.jsp.Excel_jsp._jspService(Excel_jsp.java:64)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:419)
org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:211)
org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.20 logs.
Valeu pela atenção.
8)