Célula no excel

2 respostas
Jonas_Rosa

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)

2 Respostas

Jonas_Rosa

Acredito que o java interpreta como null, na verdade o row é uma célula do excel que esta vazia. quando inicio a planilha com um conteúdo não dá o problema, mas o que preciso é que a célula inicie vazia.

J

Qual o conteudo que existe hojem em Short?

15: HSSFCell cel1 = row.getCell((short) 1);

O Objeto Row é diferente de Null?

Criado 28 de abril de 2008
Ultima resposta 28 de abr. de 2008
Respostas 2
Participantes 2