Esta ocorrendo este erro no struts.
java.lang.NoSuchMethodError: org.apache.poi.hssf.usermodel.HSSFSheet.createDrawingPatriarch()Lorg/apache/poi/hssf/usermodel/HSSFPatriarch;
cgr.negocios.GravaArquivoExcel.geraRelatorio(GravaArquivoExcel.java:45)
cgr.action.procRelat.execute(procRelat.java:23)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
Ja li o http://www.guj.com.br/java.tutorial.artigo.104.1.guj
e continuo nao entendendo o motivo desse erro, qdo eu coloco para rodar dentro do public void main funciona direitinho.
os codigos estao assim,
public class GravaExcel()
{
…
public static boolean gravarelat()
{
…
HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
HSSFClientAnchor anchor;
anchor = new HSSFClientAnchor(0,0,0,255,(short)2,2,(short)4,7);
anchor.setAnchorType( 2 );
patriarch.createPicture(anchor, loadPicture("c:/teste/teste.png", workbook )); // Aqui ja coloquei dentro do contexto mas tambem nao funcinou
…
}
}
public static int loadPicture( String path, HSSFWorkbook wb ) throws IOException
{
int pictureIndex = 0;
FileInputStream fis = null;
ByteArrayOutputStream bos = null;
try
{
fis = new FileInputStream( path);
bos = new ByteArrayOutputStream( );
int c;
while ( (c = fis.read()) != -1)
bos.write( c );
pictureIndex = wb.addPicture( bos.toByteArray(), HSSFWorkbook.PICTURE_TYPE_PNG );
}
catch(Exception e)
{
System.out.println("O ERRO ESTA AKI "+e);
}
finally
{
if (fis != null)
fis.close();
if (bos != null)
bos.close();
}
return pictureIndex;
}
}
e o meu struts chama a classe
gravarelat();
Quando retiro isso do contigo a tabela cria normalmente.
Obrigado pela Ajuda.
Marcelo