前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >jasperreports ireport使用sql语句中有in时动态赋值,666

jasperreports ireport使用sql语句中有in时动态赋值,666

作者头像
Java架构师必看
发布2021-10-18 10:53:58
9310
发布2021-10-18 10:53:58
举报
文章被收录于专栏:Java架构师必看
代码语言:javascript
复制
<parameter name="a_id" class="java.util.List"/> <queryString language="SQL"> <![CDATA[select * from Apoplexy where $X{IN, apoplexy_id, a_id}]]> </queryString>
import net.sf.jasperreports.engine.JRExporter;
import net.sf.jasperreports.engine.JRExporterParameter;
import net.sf.jasperreports.engine.JRPrintPage;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.export.JRHtmlExporter;
import net.sf.jasperreports.engine.export.JRHtmlExporterParameter;
import net.sf.jasperreports.engine.export.JRPdfExporter;
import net.sf.jasperreports.engine.export.JRXlsExporter;
import net.sf.jasperreports.engine.export.JRXlsExporterParameter;
import net.sf.jasperreports.engine.util.JRLoader;
public void report() throws ServletException, IOException {
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
String jasper = "report/ApoplexyReport.jasper"; // 你的jasper文件地址
String filename = "中疯病患者详细信息报表"; //
// 各种参数设置好
List<Integer> collection = new ArrayList<Integer>();
collection.add(14);
collection.add(15);
collection.add(16);
collection.add(17);
collection.add(18);
collection.add(19);
collection.add(20);
collection.add(21);
collection.add(22);
collection.add(23);
collection.add(24);
collection.add(25);
Map map = new HashMap();
map.put("a_id", collection);
try {
// 读取jasper
JasperReport jr = (JasperReport) JRLoader
.loadObjectFromLocation(jasper);
Connection conn = DBConnection.getConnection();
// 填充数据
JasperPrint jp = JasperFillManager.fillReport(jr, map, conn);
// 判断是否正常
List<JRPrintPage> pages = jp.getPages();
// ReportType.export(response, jp, ReportType.EXCEL, filename);
ReportType.export(response, jp, ReportType.HTML, filename);
} catch (Exception ex) {
System.out.println(ex.toString());
}
}
public void export(HttpServletResponse response, JasperPrint jp, int type,
String filename) throws Exception {
JRExporter exporter = null;
int HTML = 1;
int EXCEL = 2;
final int PDF = 3;
if (type == HTML) {
exporter = new JRHtmlExporter();
exporter.setParameter(
JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN, false);
exporter.setParameter(JRHtmlExporterParameter.BETWEEN_PAGES_HTML,
"");
// exporter.setParameter(JRHtmlExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,
// Boolean.TRUE);
} else if (type == EXCEL) {
exporter = new JRXlsExporter();
response.setContentType("application/vnd.ms-excel");
response.addHeader("Content-Disposition", new String(
("attachment; filename=" + filename + ".xls")
.getBytes("GBK"), "ISO-8859-1"));
exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET,
Boolean.FALSE);
// exporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,
// Boolean.TRUE);
} else if (type == PDF) {
exporter = new JRPdfExporter();
response.setContentType("application/pdf");
response.addHeader("Content-Disposition", new String(
("attachment; filename=" + filename + ".pdf")
.getBytes("GBK"), "ISO-8859-1"));
} else {
return;
}
exporter.setParameter(JRExporterParameter.CHARACTER_ENCODING, "GBK");
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jp);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, response
.getOutputStream());
exporter.exportReport();
} 
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档