用jfreereport,
或jasperreport
以上两个都是开源免费的报表工具。
也可以用iText包自己写。

解决方案 »

  1.   

    JSP中?
    iText是一个开放源码的Java类库,可以用来方便地生成PDF文件。大家通过访问http://sourceforge.net/project/showfiles.php?group_id=15255&release_id=167948下载最新版本的类库,下载完成之后会得到一个.jar包,把这个包加入JDK的classpath即可使用。如果生成的PDF文件中需要出现中文、日文、韩文字符,则还需要通过访问http://itext.sourceforge.net/downloads/iTextAsian.jar下载iTextAsian.jar包。
    将PDF文件通过流的形式输送到客户端的缓存。这样做的好处是不会在服务器上留下任何“遗迹”。
    i)直接通过JSP页面生成
    <%@ page import="java.io.*,java.awt.Color,com.lowagie.text.*,com.lowagie.text.pdf.*"%>
    <%
      response.setContentType( "application/pdf" );
      Document document = new Document();
      ByteArrayOutputStream buffer = new ByteArrayOutputStream();
      PdfWriter writer=PdfWriter.getInstance( document, buffer );
      document.open();
      document.add(new Paragraph("Hello World"));
      document.close();
      DataOutput output = new DataOutputStream( response.getOutputStream());
      byte[] bytes = buffer.toByteArray();
      response.setContentLength(bytes.length);
      for( int i = 0; i < bytes.length; i++ ) { 
         output.writeByte( bytes[i] ); 
      }
    %>
      

  2.   

    ii&pound;&copy;&Iacute;¨&sup1;&yacute;Servlet&Eacute;ú&sup3;&Eacute;import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import com.lowagie.text.*;
    import com.lowagie.text.pdf.*;
    public void doGet(HttpServletRequest request,HttpServletResponse response) 
       throws IOException,ServletException{
         
         Document document = new Document(PageSize.A4, 36,36,36,36);
         ByteArrayOutputStream ba = new ByteArrayOutputStream();
         try  {
           
           PdfWriter writer = PdfWriter.getInstance(document, ba);
           document.open();
           document.add(new Paragraph("Hello World"));
         }catch(DocumentException de)  {
            
           de.printStackTrace();
           System.err.println("A Document error:" +de.getMessage());
         }
         
         document.close();
         response.setContentType("application/pdf");
         response.setContentLength(ba.size()); 
         ServletOutputStream out = response.getOutputStream();
         ba.writeTo(out);
         out.flush();
     }这是以前收集的一个例子,出处不太记得了,哈,希望对你有帮助
      

  3.   

    ii&pound;&copy;&Iacute;¨&sup1;&yacute;Servlet&Eacute;ú&sup3;&Eacute;
    哈,乱码,本意是说用Servlet的
      

  4.   

    iTextAsian.jar包要放在哪个目录下?
      

  5.   

    可以看看http://www.lowagie.com/iText/docs.html,在它给的最简单的例子的基础上加上表格的部分就可以了。