2014-01-07 39 views
0

我JRXML文件如下灌裝使用Java結果碧玉報告表組件設置

<?xml version="1.0" encoding="UTF-8"?> 
     <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="fancy" language="groovy" pageWidth="595" pageHeight="842" columnWidth="535" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="09087f48-655f-47b7-ba5e-c4e4e1c2b7ad"> 
      <property name="ireport.zoom" value="1.0"/> 
      <property name="ireport.x" value="27"/> 
      <property name="ireport.y" value="86"/> 
      <style name="Title" fontName="Times New Roman" fontSize="50" isBold="true" pdfFontName="Times-Bold"/> 
      <style name="SubTitle" forecolor="#736343" fontName="Arial" fontSize="18"/> 
      <style name="Column header" forecolor="#666666" fontName="Arial" fontSize="12" isBold="true"/> 
      <style name="Detail" fontName="Arial" fontSize="12"/> 
      <style name="Row" mode="Transparent"> 
       <conditionalStyle> 
        <conditionExpression><![CDATA[$V{REPORT_COUNT}%2 == 0]]></conditionExpression> 
        <style backcolor="#E6DAC3"/> 
       </conditionalStyle> 
      </style> 
      <style name="table"> 
       <box> 
        <pen lineWidth="1.0" lineColor="#000000"/> 
       </box> 
      </style> 
      <style name="table_TH" mode="Opaque" backcolor="#F0F8FF"> 
       <box> 
        <pen lineWidth="0.5" lineColor="#000000"/> 
       </box> 
      </style> 
      <style name="table_CH" mode="Opaque" backcolor="#BFE1FF"> 
       <box> 
        <pen lineWidth="0.5" lineColor="#000000"/> 
       </box> 
      </style> 
      <style name="table_TD" mode="Opaque" backcolor="#FFFFFF"> 
       <box> 
        <pen lineWidth="0.5" lineColor="#000000"/> 
       </box> 
      </style> 
      <style name="table 1"> 
       <box> 
        <pen lineWidth="1.0" lineColor="#000000"/> 
       </box> 
      </style> 
      <style name="table 1_TH" mode="Opaque" backcolor="#F0F8FF"> 
       <box> 
        <pen lineWidth="0.5" lineColor="#000000"/> 
       </box> 
      </style> 
      <style name="table 1_CH" mode="Opaque" backcolor="#BFE1FF"> 
       <box> 
        <pen lineWidth="0.5" lineColor="#000000"/> 
       </box> 
      </style> 
      <style name="table 1_TD" mode="Opaque" backcolor="#FFFFFF"> 
       <box> 
        <pen lineWidth="0.5" lineColor="#000000"/> 
       </box> 
      </style> 
      <style name="table 2"> 
       <box> 
        <pen lineWidth="1.0" lineColor="#000000"/> 
       </box> 
      </style> 
      <style name="table 2_TH" mode="Opaque" backcolor="#F0F8FF"> 
       <box> 
        <pen lineWidth="0.5" lineColor="#000000"/> 
       </box> 
      </style> 
      <style name="table 2_CH" mode="Opaque" backcolor="#BFE1FF"> 
       <box> 
        <pen lineWidth="0.5" lineColor="#000000"/> 
       </box> 
      </style> 
      <style name="table 2_TD" mode="Opaque" backcolor="#FFFFFF"> 
       <box> 
        <pen lineWidth="0.5" lineColor="#000000"/> 
       </box> 
      </style> 
      <subDataset name="New Dataset 1" uuid="aa2fab2d-72e6-47b4-bc09-7c11fe93d3b1"> 
       <queryString language="SQL"> 
        <![CDATA[select * from qol_users]]> 
       </queryString> 
       <field name="user_id" class="java.lang.Integer"> 
        <fieldDescription><![CDATA[]]></fieldDescription> 
       </field> 
       <field name="Date_format" class="java.lang.String"> 
        <fieldDescription><![CDATA[]]></fieldDescription> 
       </field> 
       <field name="email_id" class="java.lang.String"> 
        <fieldDescription><![CDATA[]]></fieldDescription> 
       </field> 
       <field name="enable" class="java.lang.String"> 
        <fieldDescription><![CDATA[]]></fieldDescription> 
       </field> 
       <field name="expiry_date" class="java.sql.Timestamp"> 
        <fieldDescription><![CDATA[]]></fieldDescription> 
       </field> 
       <field name="first_name" class="java.lang.String"> 
        <fieldDescription><![CDATA[]]></fieldDescription> 
       </field> 
       <field name="last_name" class="java.lang.String"> 
        <fieldDescription><![CDATA[]]></fieldDescription> 
       </field> 
       <field name="password" class="java.lang.String"> 
        <fieldDescription><![CDATA[]]></fieldDescription> 
       </field> 
       <field name="phone_number" class="java.lang.String"> 
        <fieldDescription><![CDATA[]]></fieldDescription> 
       </field> 
       <field name="roles" class="java.lang.String"> 
        <fieldDescription><![CDATA[]]></fieldDescription> 
       </field> 
       <field name="time_zone" class="java.lang.String"> 
        <fieldDescription><![CDATA[]]></fieldDescription> 
       </field> 
       <field name="updated_by" class="java.lang.String"> 
        <fieldDescription><![CDATA[]]></fieldDescription> 
       </field> 
       <field name="updated_date" class="java.sql.Timestamp"> 
        <fieldDescription><![CDATA[]]></fieldDescription> 
       </field> 
       <field name="uploaded_by" class="java.lang.String"> 
        <fieldDescription><![CDATA[]]></fieldDescription> 
       </field> 
       <field name="uploaded_date" class="java.sql.Date"> 
        <fieldDescription><![CDATA[]]></fieldDescription> 
       </field> 
       <field name="user_name" class="java.lang.String"> 
        <fieldDescription><![CDATA[]]></fieldDescription> 
       </field> 
       <group name="roles"> 
        <groupExpression><![CDATA[$F{roles}]]></groupExpression> 
       </group> 
       <group name="updated_date"> 
        <groupExpression><![CDATA[$F{updated_date}]]></groupExpression> 
       </group> 
      </subDataset> 

      <field name="user_id" class="java.lang.Integer"> 
       <fieldDescription><![CDATA[]]></fieldDescription> 
      </field> 
      <field name="first_name" class="java.lang.String"> 
       <fieldDescription><![CDATA[]]></fieldDescription> 
      </field> 
      <field name="last_name" class="java.lang.String"> 
       <fieldDescription><![CDATA[]]></fieldDescription> 
      </field> 
      <field name="email_id" class="java.lang.String"> 
       <fieldDescription><![CDATA[]]></fieldDescription> 
      </field> 
      <background> 
       <band splitType="Stretch"/> 
      </background> 
      <title> 
       <band height="136" splitType="Stretch"> 
        <image> 
         <reportElement x="138" y="47" width="247" height="63" uuid="dcc00d69-2974-4c7b-a56a-bfa75c7bfec2"/> 
         <imageExpression><![CDATA["/home/bvsreddy/Desktop/qolsys_logo.png"]]></imageExpression> 
        </image> 
       </band> 
      </title> 
      <pageHeader> 
       <band height="50"> 
        <staticText> 
         <reportElement x="182" y="0" width="146" height="36" uuid="870eb702-9d4b-432a-85e7-e46c77ef0896"/> 
         <textElement textAlignment="Center"> 
          <font size="16" isBold="true"/> 
         </textElement> 
         <text><![CDATA[USER DETAILS]]></text> 
        </staticText> 
       </band> 
      </pageHeader> 
      <detail> 
       <band height="268" splitType="Stretch"> 
        <componentElement> 
         <reportElement key="table 2" style="table 2" x="88" y="0" width="360" height="153" uuid="b87156b4-37dd-4d85-9c70-d56b8626cb3d"/> 
         <jr:table xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd"> 
          <datasetRun subDataset="New Dataset 1" uuid="5bb1a22f-d699-46e1-8823-3e7ef9d73da0"> 
           <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression> 
          </datasetRun> 
          <jr:column width="90" uuid="fd96d212-138d-4897-856d-4e4e5ff49ffa"> 
           <jr:columnHeader style="table 2_CH" height="30" rowSpan="1"> 
            <staticText> 
             <reportElement x="0" y="0" width="90" height="30" uuid="98f3f318-bfca-4ce3-8bbf-c23df16a590e"/> 
             <textElement textAlignment="Center"/> 
             <text><![CDATA[User Id]]></text> 
            </staticText> 
           </jr:columnHeader> 
           <jr:detailCell style="table 2_TD" height="20" rowSpan="1"> 
            <textField> 
             <reportElement x="0" y="0" width="90" height="20" uuid="7b49c4f7-982a-4cfd-a099-cc87619b0b74"/> 
             <textElement textAlignment="Center"/> 
             <textFieldExpression><![CDATA[$F{user_id}]]></textFieldExpression> 
            </textField> 
           </jr:detailCell> 
          </jr:column> 
          <jr:column width="90" uuid="d68226dc-73d7-4bbb-8c7a-372b7cc924e5"> 
           <jr:columnHeader style="table 2_CH" height="30" rowSpan="1"> 
            <staticText> 
             <reportElement x="0" y="0" width="90" height="30" uuid="31a8a8f1-2d66-40c9-88b5-bd994084fc6f"/> 
             <textElement textAlignment="Center"/> 
             <text><![CDATA[First Name]]></text> 
            </staticText> 
           </jr:columnHeader> 
           <jr:detailCell style="table 2_TD" height="20" rowSpan="1"> 
            <textField> 
             <reportElement x="0" y="0" width="90" height="20" uuid="e9758f4a-9a9b-45d0-8efd-cd069d131978"/> 
             <textElement textAlignment="Center"/> 
             <textFieldExpression><![CDATA[$F{first_name}]]></textFieldExpression> 
            </textField> 
           </jr:detailCell> 
          </jr:column> 
          <jr:column width="90" uuid="b0e486a4-9df4-4db2-93a8-26d9a9e89df5"> 
           <jr:columnHeader style="table 2_CH" height="30" rowSpan="1"> 
            <staticText> 
             <reportElement x="0" y="0" width="90" height="30" uuid="e72a1b56-339c-4de8-b9e8-59d7006c9ac7"/> 
             <textElement textAlignment="Center"/> 
             <text><![CDATA[Last Name]]></text> 
            </staticText> 
           </jr:columnHeader> 
           <jr:detailCell style="table 2_TD" height="20" rowSpan="1"> 
            <textField> 
             <reportElement x="0" y="0" width="90" height="20" uuid="04d87c2c-ff0a-42cf-9fa4-2abbe35d9545"/> 
             <textElement textAlignment="Center"/> 
             <textFieldExpression><![CDATA[$F{last_name}]]></textFieldExpression> 
            </textField> 
           </jr:detailCell> 
          </jr:column> 
          <jr:column width="90" uuid="d96b6156-007d-4ae4-b0b0-39260f24b69a"> 
           <jr:columnHeader style="table 2_CH" height="30" rowSpan="1"> 
            <staticText> 
             <reportElement x="0" y="0" width="90" height="30" uuid="d4a189b3-d58c-4f27-8638-3653f0d40ffa"/> 
             <textElement textAlignment="Center"/> 
             <text><![CDATA[Email Id]]></text> 
            </staticText> 
           </jr:columnHeader> 
           <jr:detailCell style="table 2_TD" height="20" rowSpan="1"> 
            <textField> 
             <reportElement x="0" y="0" width="90" height="20" uuid="ba369562-9505-453a-a046-2da72a2b1658"/> 
             <textElement textAlignment="Center"/> 
             <textFieldExpression><![CDATA[$F{email_id}]]></textFieldExpression> 
            </textField> 
           </jr:detailCell> 
          </jr:column> 
         </jr:table> 
        </componentElement> 
       </band> 
      </detail> 
      <columnFooter> 
       <band height="26" splitType="Stretch"> 
        <line> 
         <reportElement positionType="FixRelativeToBottom" x="0" y="3" width="555" height="1" uuid="30c3c673-20c8-4ab4-a9f7-88e6a5ad473d"/> 
         <graphicElement> 
          <pen lineWidth="0.5" lineColor="#999999"/> 
         </graphicElement> 
        </line> 
       </band> 
      </columnFooter> 
      <pageFooter> 
       <band height="25" splitType="Stretch"> 
        <frame> 
         <reportElement mode="Opaque" x="-21" y="1" width="597" height="24" forecolor="#D0B48E" backcolor="#F2EBDF" uuid="04480c15-33dd-4f95-9544-6b1c27980b06"/> 
         <textField evaluationTime="Report"> 
          <reportElement style="Column header" x="533" y="0" width="40" height="20" forecolor="#736343" uuid="81ddfb0c-8809-4160-99d9-36f05049d373"/> 
          <textElement verticalAlignment="Middle"> 
           <font size="10" isBold="false"/> 
          </textElement> 
          <textFieldExpression><![CDATA[" " + $V{PAGE_NUMBER}]]></textFieldExpression> 
         </textField> 
         <textField> 
          <reportElement style="Column header" x="453" y="0" width="80" height="20" forecolor="#736343" uuid="f69661cc-9569-42bc-8e24-029539753602"/> 
          <textElement textAlignment="Right" verticalAlignment="Middle"> 
           <font size="10" isBold="false"/> 
          </textElement> 
          <textFieldExpression><![CDATA["Page "+$V{PAGE_NUMBER}+" of"]]></textFieldExpression> 
         </textField> 
         <textField pattern="EEEEE dd MMMMM yyyy"> 
          <reportElement style="Column header" x="22" y="1" width="197" height="20" forecolor="#736343" uuid="09521691-6218-4f06-818c-3d823163e384"/> 
          <textElement verticalAlignment="Middle"> 
           <font size="10" isBold="false"/> 
          </textElement> 
          <textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression> 
         </textField> 
        </frame> 
       </band> 
      </pageFooter> 
      <summary> 
       <band splitType="Stretch"/> 
      </summary> 
     </jasperReport>' 

我的java文件如下,任何快速的幫助表示讚賞....謝謝

import java.io.File; 
    import java.sql.Connection; 
    import java.sql.DriverManager; 
    import java.sql.ResultSet; 
    import java.sql.SQLException; 
    import java.sql.Statement; 
    import java.util.ArrayList; 
    import java.util.HashMap; 
    import java.util.List; 
    import java.util.Map; 

    import net.sf.jasperreports.engine.JRExporter; 
    import net.sf.jasperreports.engine.JRExporterParameter; 
    import net.sf.jasperreports.engine.JRResultSetDataSource; 
    import net.sf.jasperreports.engine.JasperFillManager; 
    import net.sf.jasperreports.engine.JasperPrint; 
    import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; 
    import net.sf.jasperreports.engine.export.JRPdfExporter; 

    public class Fancy 
    { 
     public static void main(String[] args) throws SQLException 
     { 
     Connection connection = null; 
     ResultSet resultSet = null; 
     Statement statement = null; 
     try 
     { 
      Class.forName("com.mysql.jdbc.Driver"); 

      String url = "jdbc:mysql://localhost:3306/mydb?user=root&password=root"; 
      String query = " select user_id, first_name, last_name, email_id from users"; 
      connection = DriverManager.getConnection(url); 
      statement = connection.createStatement(); 

      resultSet = statement.executeQuery(query); 

      File reportFile = new File("/home/bvsreddy/Desktop/fancy.jasper"); 
      Map hm = new HashMap(); 
      String outFileName = "/home/bvsreddy/Desktop/fancy.pdf"; 
      List<CustomUser> users = new ArrayList<>(); 
      while(resultSet.next()){ 
       CustomUser customUser = new CustomUser(); 
       customUser.setUser_id(resultSet.getInt(1)); 
       customUser.setFirst_name(resultSet.getString(2)); 
       customUser.setLast_name(resultSet.getString(3)); 
       customUser.setEmail_id(resultSet.getString(4)); 
       users.add(customUser); 
      } 
      System.out.println(users.size()); 
      JasperPrint print = JasperFillManager.fillReport(reportFile.getPath(), hm, new JRBeanCollectionDataSource(users,false)); 

      // Create a PDF exporter 
      JRExporter exporter = new JRPdfExporter(); 

      // Configure the exporter (set output file name and print object) 
      exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, outFileName); 
      exporter.setParameter(JRExporterParameter.JASPER_PRINT, print); 

      // Export the PDF file 
      exporter.exportReport(); 
     } 
     catch (Exception e) 
     { 
      e.printStackTrace(); 
     } 
     finally 
     { 
      //boilerplate code to close the result set, statement, and exception 
     } 
     } 
    } 

我試過這個,但是我得到空表

+0

任何快速幫助是非常讚賞.... – user3168888

+0

你檢查*用戶*名單?也許它是空的... –

+0

不,我們有用戶列表 – user3168888

回答

0

表格組件必須放在彙總帶(有時在標題帶)。不詳細!

和查詢表數據集1(表中所作爲數據源)沒有對應的ArrayList(數據源報表)