有不少报表工具,可以生成.pdf或cvs还有html。html当然是web报表的首选。

解决方案 »

  1.   

    to loveyousomuch(★阿佛洛狄忒★) :
    form.setField("Name", "裴贺先");
    在这个地方用数据库中取出来的数据替换就可以了。
      

  2.   

    to  SwordsmanF(没人性) :
    html还用第三方的组件吗?直接用jsp做出来不就行了? 但是html在IE中打印会带着IE的信息的,根本就不能用来做正式的官方报表。
    我们做的程序就是先用jsp显示一个报表的统计结果,结果想打印再用itext生成PDF报表。
      

  3.   

    to xchfriend(xchfriend):
    为什么要用pdf来向数据库提交数据?
      

  4.   

    to peihexian(只有初中学历) :
     那么整个解决方案就是用jsp象pdf提交数据,再把pdf镶嵌在html中显示出来,然后通过pdf的打印系统进行打印,是吗?
     这个方案是否存在以下几个问题:
     1.客户端没有安装Adobe Acrobat。
     2.为每一个报表创建一个模板的过程有点麻烦。要通过word转pdf,再添加表单域。
     3.手工添加表单域的方法不仅麻烦,而且丧失灵活性。
     一点建议:
     是否可以设计一些通用模板的程序,实现根据字段自动画表格线,自动添加表单域。这样其余的报表就可以只对模板设置一个数据源的方法,便生成不同的报表了。
     asp中通过水晶报表可以实现以上功能,java里也应该可以做到。
      

  5.   

    to  goes_kad(钢筋混凝土) :
    1,现有的web报表平台,多数都是通过生成PDF来到客户端进行打印的,如果是用html,也完全没有必要做这东西。
    2.如果您以前写过itext的程序,您就会知道我的方法已经把人们从原始社会带到工业时代了。以前生成PDF时画表格是一个cell一个cell的用程序画出来的。
    3.手工添加表单域确实是个问题,因为如果报表格式发生了变化,需要从word重新生成模板PDF,这确实是个问题。
      

  6.   

    to peihexian(只有初中学历) 
     我不明白的是“一个cell一个cell的用程序画出来的。”不好吗,这样比较好动态确定要画多少个cell以及怎么画啊。
     不画cell,直接画表格线可不可以。
     有没有函数可以动态加表单域的? ps:我没用过itext,所以说的东西难免太有想象力,呵呵。
      

  7.   

    to goes_kad(钢筋混凝土):
    如果你做几个稍稍复杂的报表你就知道了。你应该知道,并不是所有的报表当中的表格都是很规则的,比如人才市场的个人简历,有时这些表格线是错综复杂的,用cell去画吧,累死。
      

  8.   

    同意 初中学历 同志的意见。
    用程序生成是件傻事,我就干过,费时费力,而且客户的要求都是非常变态的,你从理论上想象不到,所以实际应用中不可能作出一个通用的东西,否则网上应该到处都有了。水晶报表我也用过,感觉本身就不爽,我们公司专作mis,从来不用他。
      

  9.   

    感谢peihexian(只有初中学历)
    up!!!!!!!!!11
      

  10.   

    非常感谢你提供的资料,
    我想问一下
    import com.lowagie.text.pdf.PdfWriter,这里的PdfWriter类在哪里啊?我只找到PdfWriter.html文件啊!谢谢!
      

  11.   

    我现在正在试着调试你的程序!我用的tomcat4.1,我先用jdk调试你的genpdf.java,编译通过了,可运行时提示找不到com.lowagie.text.pdf.PdfWriter。
      

  12.   

    to xchfriend(xchfriend) :
    会不会是因为classpath中不能找到这两个jar文件呢?
      

  13.   

    to  programeyonger(programelover) :
    晕死啦,这个是用来从数据库取出数据来生成PDF报表的,如果你实在想提交到数据库里面的话,我告诉你, 可以! 看一下我提供的压缩包的文档,里面有例子。可是我实在不明白你们为什么想在pdf中输入,然后再提交到数据库中?难道你们想用pdf做UI界面?
      

  14.   

    不好意思,请教一下:关于com.lowagie.text.pdf.PdfWriter,这个包在你提供的压缩包里有吗?
    那里只有两个jar包,itext-1.01.jar和iTextAsian.jar,另外的两个压缩包都是些html文档啊!并没有PdfWriter这个包啊!
    老大,帮帮我的忙,我急需要用到你的程序!还有各位楼上的,有谁已经能够正常使用这个程序了,给小弟指点一下迷津吧,谢谢……
      

  15.   

    可能你的jdk本身已经包含了com.lowagie.text.pdf.PdfWriter这个包,而我的jdk没有,所以能不能把你的这个包发给我,我的email:[email protected],谢谢!
      

  16.   

    to xchfriend(xchfriend) :
    这不包显然不是jdk当中的东西,你可以到这里看看别的版本的itext能不能行?
    我们jdk1.3.1,1.4以及resin 2.04 2.06 2.11中测试都没有问题,tomcat我一次也不有用过,等我有空了试一下,我想应该不会出这么大的问题,如果你着急用,先下一个resin确定一下是不是jdk的问题,我们一起解决一下这个问题。
    今天我正在做从数据库取数据生成多行报表的例子呢,等我先把这个例子做完吧。
      

  17.   

    忘了发了,是这里
    http://sourceforge.net/projects/itext/
      

  18.   

    在itext-1.01.jar这个包里包含着com.lowagie.text.pdf.PdfWriter,
    只需要把itext-1.01.jar和iTextAsian.jar加到classpath中,就可以正确运行了!
      

  19.   

    to  xchfriend(xchfriend) :
    。。
      

  20.   

    我有个问题:你在genpdfservlet.java中有这么一句: String TemplatePDF=getServletContext().getRealPath(".")+"iText报表示例模板_已定义字段.pdf";我想问一下,我应该把  iText报表示例模板_已定义字段.pdf  这个文件放在什么位置才能运行你的genpdfservlet?
      

  21.   

    to xchfriend(xchfriend) :
    就是你的web应用程序的根目录,其实你执行一下这个servlet就明白了,你看这个servlet是从哪个目录中找这个文件就把东西放到那里。
      

  22.   

    我执行过了,错误提示为: C:\Tomcat 4.1\webapps\myapps\.iText报表示例模板_已定义字段.pdf not found as file or resource。我的 iText报表示例模板_已定义字段.pdf 放在(C:\Tomcat 4.1\webapps\myapps\ )下。
      

  23.   

    你能告诉我:getServletContext().getRealPath("."),这句话是什么含义吗?特别是那个“.”的含义?
      

  24.   

    这种方式在web开发中会有问题,
    你是把查询的结果用.pdf格式存档,
    是放在web服务器端的,
    如果有多个用户一起查询,会起冲突?
      

  25.   

    to  inprise_lyj(只愛一點點) :
    放的只是模板啦,你没有看到后面真正生成结果pdf时,是生的数据流直接返回来的吗?根本就不用向服务器硬盘写数据的。
      

  26.   

    同意peihexian(只有初中学历),(你的程序非常好,我已经能正常运行了!)
    现在我还想请教一个问题:
    在aa.jsp上单击一个button,服务器自动从数据库中取出数据来生成PDF报表,并且调用该pdf的打印程序,进行打印工作。可以实现吗?
      

  27.   

    to: peihexian(只有初中学历) 
    不好意思
    看错了!
      

  28.   

    to xchfriend(xchfriend):
    我现在正在做从数据库中取多行数据进行打印的例子呢。
      

  29.   

    to peihexian(只有初中学历):
    你有完整的jdk帮助文档吗?
    有的话,给我一份好吗?
      

  30.   

    我在做自己的pdf时出现一个问题:如:以下三句
    form.setField("No1","不干净");
    form.setField("No2","不干净");
    form.setField("No3","不干净");在pdf上显示时,出现了字体不一样大小的情况,这是怎么回事?
      

  31.   

    to  xchfriend(xchfriend):
    是因为你在acrobat中画表单域时,画的有大有小。
      

  32.   

    怎样将数据库记录生成pdf?要求通用的,不关什么样的数据,通过servlet就可生成?