import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.export.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.*;
public class JasperTest {
public static void main(String[] args) {
try {
String fileName =
"I:\reportTest\report1.jasper";//我们就是根据它生成报表的
String outFileNamePdf = "report1.pdf";//生成的pdf叫什么名字
String outFileNameDoc = "report1.doc";//生成的word叫什么名字
String outFileNameXls = "report1.xls";//生成的excel叫什么名字
String outFileNameHtml = "report1.html";//生成的html叫什么名字
String url =
"jdbc:sqlserver://222.195.150.228:1433;DatabaseName=student";
//数据库相关信息
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")
.newInstance();
Connection conn = DriverManager.getConnection(url, "sa",
"******");
HashMap hm = new HashMap();//这里主要是存放需要传递的参数信息的;如果没有参数的话,下面就不需要PUT了
hm.put("p_sname", "hope");//给相应的参数名,传值
// Fill the report using an empty data source
JasperPrint print = JasperFillManager.fillReport(fileName,
hm,conn);
JRHtmlExporter exporter_html =
new JRHtmlExporter();
exporter_html.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,
outFileNameHtml);
exporter_html.setParameter(JRExporterParameter.JASPER_PRINT,
print);
exporter_html.setParameter(JRHtmlExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,
Boolean.TRUE);
exporter_html.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN,
Boolean.TRUE);
exporter_html.exportReport();
JRExporter exporter_word = new
JRRtfExporter();
exporter_word.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,
outFileNameDoc);
// Configure the exporter (set output file name and print
object)
exporter_word.setParameter(JRExporterParameter.JASPER_PRINT,
print);
// Export the doc file
exporter_word.exportReport();
JRAbstractExporter exporter_excel = new
JExcelApiExporter();
exporter_excel.setParameter(JRExporterParameter.JASPER_PRINT,print);
exporter_excel.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,
outFileNameXls);
exporter_excel.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,
Boolean.TRUE); //
删除空白行
exporter_excel.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET,Boolean.FALSE);
// 是否是每一页产生一个工作表
exporter_excel.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND,
Boolean.FALSE); // 是否为空白背景
exporter_excel.exportReport();
JRExporter exporter_pfd = new JRPdfExporter();
exporter_pfd.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,
outFileNamePdf);
exporter_pfd.setParameter(JRExporterParameter.JASPER_PRINT,
print);
exporter_pfd.exportReport();
System.out.println("success!");
} catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
}
}