📄 template.java
字号:
package com.csscis.common.report;
import java.awt.Color;
import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import net.sf.jasperreports.engine.JRAlignment;
import net.sf.jasperreports.engine.JRElement;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRExporterParameter;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperPrintManager;
import net.sf.jasperreports.engine.JasperRunManager;
import net.sf.jasperreports.engine.design.JRDesignBand;
import net.sf.jasperreports.engine.design.JRDesignExpression;
import net.sf.jasperreports.engine.design.JRDesignField;
import net.sf.jasperreports.engine.design.JRDesignLine;
import net.sf.jasperreports.engine.design.JRDesignParameter;
import net.sf.jasperreports.engine.design.JRDesignQuery;
import net.sf.jasperreports.engine.design.JRDesignRectangle;
import net.sf.jasperreports.engine.design.JRDesignStaticText;
import net.sf.jasperreports.engine.design.JRDesignStyle;
import net.sf.jasperreports.engine.design.JRDesignTextField;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.export.JExcelApiExporter;
import net.sf.jasperreports.engine.export.JRCsvExporter;
import net.sf.jasperreports.engine.export.JRRtfExporter;
import net.sf.jasperreports.engine.export.JRXlsExporter;
import net.sf.jasperreports.engine.export.JRXlsExporterParameter;
import net.sf.jasperreports.engine.util.JRLoader;
public class template{
/**
*
*/
private static final String TASK_COMPILE = "compile";
private static final String TASK_FILL = "fill";
private static final String TASK_PRINT = "print";
private static final String TASK_PDF = "pdf";
private static final String TASK_XML = "xml";
private static final String TASK_XML_EMBED = "xmlEmbed";
private static final String TASK_HTML = "html";
private static final String TASK_RTF = "rtf";
private static final String TASK_XLS = "xls";
private static final String TASK_JXL = "jxl";
private static final String TASK_CSV = "csv";
private static final String TASK_RUN = "run";
private static final String TASK_WRITE_XML = "writeXml";
/**
*
*/
public static void main(String[] args)
{
String fileName = null;
String taskName = null;
if(args.length == 0)
{
usage();
return;
}
int k = 0;
while ( args.length > k ) {
if ( args[k].startsWith("-T") )
taskName = args[k].substring(2);
if ( args[k].startsWith("-F") )
fileName = args[k].substring(2);
k++;
}
//taskName = "compile";
//fileName = "template.jasper";
//taskName = "fill";
//fileName = "template.jasper";
//taskName = "pdf";
//fileName = "template.jrprint";
//taskName = "xml";
//fileName = "template.jrprint";
try
{
long start = System.currentTimeMillis();
if (TASK_COMPILE.equals(taskName))
{
JasperDesign jasperDesign = getJasperDesign();
//jasperDesign.setDefaultFont()
JasperCompileManager.compileReportToFile(jasperDesign, fileName);
System.err.println("Compile time : " + (System.currentTimeMillis() - start));
System.exit(0);
}
else if (TASK_FILL.equals(taskName))
{
//Preparing parameters
Map parameters = new HashMap();
parameters.put("ReportTitle", "的");
parameters.put("OrderByClause", "ORDER BY departmentid");
JasperFillManager.fillReportToFile(fileName, parameters, getConnection());
System.err.println("Filling time : " + (System.currentTimeMillis() - start));
System.exit(0);
}
else if (TASK_PRINT.equals(taskName))
{
JasperPrintManager.printReport(fileName, true);
System.err.println("Printing time : " + (System.currentTimeMillis() - start));
System.exit(0);
}
else if (TASK_PDF.equals(taskName))
{
JasperExportManager.exportReportToPdfFile(fileName);
System.err.println("PDF creation time : " + (System.currentTimeMillis() - start));
System.exit(0);
}
else if (TASK_RTF.equals(taskName))
{
File sourceFile = new File(fileName);
JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);
File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".rtf");
JRRtfExporter exporter = new JRRtfExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
exporter.exportReport();
System.err.println("RTF creation time : " + (System.currentTimeMillis() - start));
System.exit(0);
}
else if (TASK_XML.equals(taskName))
{
JasperExportManager.exportReportToXmlFile(fileName, false);
System.err.println("XML creation time : " + (System.currentTimeMillis() - start));
System.exit(0);
}
else if (TASK_XML_EMBED.equals(taskName))
{
JasperExportManager.exportReportToXmlFile(fileName, true);
System.err.println("XML creation time : " + (System.currentTimeMillis() - start));
System.exit(0);
}
else if (TASK_HTML.equals(taskName))
{
JasperExportManager.exportReportToHtmlFile(fileName);
System.err.println("HTML creation time : " + (System.currentTimeMillis() - start));
System.exit(0);
}
else if (TASK_XLS.equals(taskName))
{
File sourceFile = new File(fileName);
JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);
File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".xls");
JRXlsExporter exporter = new JRXlsExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.FALSE);
exporter.exportReport();
System.err.println("XLS creation time : " + (System.currentTimeMillis() - start));
System.exit(0);
}
else if (TASK_JXL.equals(taskName))
{
File sourceFile = new File(fileName);
JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);
File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".jxl.xls");
JExcelApiExporter exporter = new JExcelApiExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.TRUE);
exporter.exportReport();
System.err.println("XLS creation time : " + (System.currentTimeMillis() - start));
System.exit(0);
}
else if (TASK_CSV.equals(taskName))
{
File sourceFile = new File(fileName);
JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);
File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".csv");
JRCsvExporter exporter = new JRCsvExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
exporter.exportReport();
System.err.println("CSV creation time : " + (System.currentTimeMillis() - start));
System.exit(0);
}
else if (TASK_RUN.equals(taskName))
{
//Preparing parameters
Map parameters = new HashMap();
parameters.put("ReportTitle", "Address Report");
parameters.put("OrderByClause", "ORDER BY City");
JasperRunManager.runReportToPdfFile(fileName, parameters, getConnection());
System.err.println("PDF running time : " + (System.currentTimeMillis() - start));
System.exit(0);
}
else if (TASK_WRITE_XML.equals(taskName))
{
JasperCompileManager.writeReportToXmlFile(fileName);
System.err.println("XML design creation time : " + (System.currentTimeMillis() - start));
System.exit(0);
}
else
{
usage();
System.exit(0);
}
}
catch (JRException e)
{
e.printStackTrace();
System.exit(1);
}
catch (Exception e)
{
e.printStackTrace();
System.exit(1);
}
}
/**
*
*/
private static void usage()
{
System.out.println( "template usage:" );
System.out.println( "\tjava template -Ttask -Ffile" );
System.out.println( "\tTasks : compile | fill | print | pdf | xml | xmlEmbed | html | rtf | xls | jxl | csv | run | writeXml" );
}
/**
*
*/
private static Connection getConnection() throws ClassNotFoundException, SQLException
{
//Change these settings according to your local configuration
String driver = "oracle.jdbc.driver.OracleDriver";
String connectString = "jdbc:oracle:thin:@10.178.28.15:1521:powermis";
String user = "udlmis";
String password = "powermis";
Class.forName(driver);
Connection conn = DriverManager.getConnection(connectString, user, password);
return conn;
}
/**
*
*/
private static JasperDesign getJasperDesign() throws JRException
{
//JasperDesign
JasperDesign jasperDesign = new JasperDesign();
jasperDesign.setName("template");
jasperDesign.setPageWidth(595);
jasperDesign.setPageHeight(842);
jasperDesign.setColumnWidth(515);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -