Tag: jasper reports

JasperReports:如何在JSP页面中显示报表?

如何在JSP页面中显示jasper报告? 我正在使用iReport 1.3.3工具来创build报告。 我能够创build报告,但我正努力在JSP页面中显示该报告。 注意:我需要以PDF和Excel格式显示报告。

使用Java和Jasper生成Excel文件

我不确定问题是什么,但是我正在使用Java和Jasper生成一个excel文件,我想立即以xlsx格式将文件下载到客户端站点,但文件正在以.xhtml扩展名进行下载。 我需要做什么? 我正在使用JSF。 这是我的方法: public void generateOutStandingDCReportXLS() { Connection conn = null; try { conn = db.getDbConnection(); Map parameters = new HashMap(); ClassLoader classLoader = getClass().getClassLoader(); InputStream logourl = classLoader.getResourceAsStream("/com/bi/jrxml/simba_logo.jpg"); InputStream stainurl = classLoader.getResourceAsStream("/com/bi/jrxml/coffee_stain.png"); parameters.put("logo", logourl); parameters.put("stain", stainurl); InputStream url = classLoader.getResourceAsStream("/com/bi/jrxml/Outstanding_DC.jrxml"); JasperReport jasperReport = JasperCompileManager.compileReport(url); JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, conn); ServletContext ctx = […]

“HTTP Status 404 – result'null'not found”使用JasperReport的Web服务导出XLS(可能与Jasper无关)

(有一个机会,这与Jasper无关,但它只发生在我的Web服务实现,而不是正常的JasperServer接口) 我已经实现了Web服务,当我导出到XLS时,我看到了非常奇怪的行为(XLSX,CSV,PDF没有问题)。 当报告返回一个小数字结果时,它将不会导出。 相反,我的浏览器给出:“HTTP状态404 – 结果'null'找不到”。 当有大量的结果时,它将正确导出。 我一直无法find任何提示的日志消息。 所以我删除了所有的报告带,除了细节,并能够确定43行或更多行将正确导出XLS,但42或更less会导致错误。 我想通过排除我的查询从“selectTOP 10 …”到“selectTOP 20 …”到“selectTOP 30 …”等等的排除过程。43是一个奇怪的数字我认为这可能与像素有关。 我玩了我的细节带和整个报告中的像素数,但是42比43的问题仍然存在。 此时我的报告显示了三个字段,所以我删除了其中两个运行报告,并返回问题。 我没有打扰确切的行数,但现在魔术数字是介于60到80行之间。 你可以在这里看到我的代码片段: http : //pastebin.com/MyPYMju4 JasperPrint print; = client.runReport(rd, reportInputMap); response.setHeader("Content-Disposition", " inline; filename=report" + (new Date()).getTime() + "." + format.toLowerCase()); JRAbstractExporter myExporter; /// … if/else code to determine what file to export to … myExporter = […]

无法在weblogic 11 + linux中成功导出excel

<% response.reset(); response.setHeader("Content-Disposition", "attachment;filename=\"" + "test.xls\""); response.setHeader("Content-Transfer-Encoding", "binary"); response.setContentType("application/vnd.ms-excel"); InputStream is = new FileInputStream(realPath); //OutputStream outStream = response.getOutputStream(); JasperPrint jasperPrint = JasperFillManager.fillReport(is, parameters, new JRBeanCollectionDataSource(pdfList)); JRAbstractExporter exporter = new JExcelApiExporter(); exporter.setParameter(JExcelApiExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JExcelApiExporterParameter.IS_DETECT_CELL_TYPE, Boolean.TRUE); exporter.setParameter(JExcelApiExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.FALSE); exporter.setParameter(JExcelApiExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE); exporter.setParameter(JExcelApiExporterParameter.OUTPUT_STREAM, out); exporter.exportReport(); outStream.flush(); outStream.close(); out.clear(); out =pageContext.pushBody(); %> 我们使用上面的代码来生成一个excel,它在tomcat + windows中运行良好,但是在我们上传到linux + weblogic服务器之后,excel被破坏了。 我用文本编辑器打开excel,发现在excel里面加了几个空行,导致excel无法打开成功,任何人都可以点我正确的方向? 为什么有空间? 怎么回事? […]

Jasperreport Excel文件创buildexception

我在jasper报告中创build.xls文件时遇到错误。 例外 Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError: org.apache.poi.hssf.usermodel.HSSFSheet.addMergedRegion(Lorg/apache/poi/hssf/util/CellRangeAddress;)I at net.sf.jasperreports.engine.export.JRXlsExporter.createMergeRegion(JRXlsExporter.java:596) at net.sf.jasperreports.engine.export.JRXlsExporter.initCreateCell(JRXlsExporter.java:540) at net.sf.jasperreports.engine.export.JRXlsExporter.createTextCell(JRXlsExporter.java:530) at net.sf.jasperreports.engine.export.JRXlsExporter.exportText(JRXlsExporter.java:390) at net.sf.jasperreports.engine.export.JRXlsAbstractExporter.exportPage(JRXlsAbstractExporter.java:550) at net.sf.jasperreports.engine.export.JRXlsAbstractExporter.exportReportToStream(JRXlsAbstractExporter.java:423) at net.sf.jasperreports.engine.export.JRXlsAbstractExporter.exportReport(JRXlsAbstractExporter.java:207) at net.sf.jasperreports.view.save.JRSingleSheetXlsSaveContributor.save(JRSingleSheetXlsSaveContributor.java:112) at net.sf.jasperreports.view.JRViewer.btnSaveActionPerformed(JRViewer.java:1128) at net.sf.jasperreports.view.JRViewer$3.actionPerformed(JRViewer.java:668) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at 码 File reportFile = new File("C:/Documents and Settings…../report1.jrxml"); JasperDesign jasperDesign = JRXmlLoader.load(reportFile); JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign); JasperPrint jasperPrint […]

在Jasper中输出不同的DOC,Excel和PDF?

更新 当我使用Jasper Report 5.6版本时,打印的文件( DOC, Excel and PDF )与下面的图像格式不同。 在DOC和Excel ,缺lesssubtotal和No. Column ($V{REPORT_COUNT}) 。 PDF(正确的出门) DOC(不正确的输出) EXCEL(不正确的输出) 5.6代码如下 /*PDF File Generation */ JasperExportManager.exportReportToPdfFile(print, pdf_filePath); /*Excel File Generation */ JRXlsxExporter xlsEexporter = new JRXlsxExporter(); xlsEexporter.setExporterInput(new SimpleExporterInput(print)); xlsEexporter.setExporterOutput(new SimpleOutputStreamExporterOutput(new File(xls_filePath))); SimpleXlsxReportConfiguration config = new SimpleXlsxReportConfiguration(); xlsEexporter.setConfiguration(config); xlsEexporter.exportReport(); /*Doc File Generation */ JRDocxExporter docxExporter = new JRDocxExporter(); docxExporter.setExporterInput(new […]

如何在java中附加一个excel文件并使用JRXlsExporter来编写该文件

我有一个Excel文件,我想添加新的数据到文件的末尾。 为此,我使用这种方法 public static void exportXLS(JasperPrint jasperPrint, String fileName) throws IOException, JRException{ SimpleXlsReportConfiguration configuration = new SimpleXlsReportConfiguration(); configuration.setOnePagePerSheet(true); configuration.setDetectCellType(true); configuration.setCollapseRowSpan(false); configuration.setWhitePageBackground(false); File file = new File(fileName+".xls"); FileOutputStream fos = new FileOutputStream(file,true); JRXlsExporter exporterXLS = new JRXlsExporter(); exporterXLS.setExporterInput(new SimpleExporterInput(jasperPrint)); exporterXLS.setExporterOutput(new SimpleOutputStreamExporterOutput(fos)); exporterXLS.setConfiguration(configuration); exporterXLS.exportReport(); } 我已经设置了真正的FileOutputStream构造函数的append参数,但仍然无法正常工作。 当我打开文件时,我发现只是新的数据,而不是旧的数据。

使用JasperReports风格创buildExcel

我正在使用JasperReports 3.2。 我有一个报告,我出口到PDF和Excel。 该报告使用用户引入的自定义样式。 我在这里解释了Java中的样式。 所以解释之前的报告中的示例文本是 Test<style isBold="true" pdfFontName="verdanab.ttf">Test Bold</style> Some text <style isItalic="true" pdfFontName="verdanai.ttf">Test Italic</style> 虽然这个工作在PDF(文本显示样式)xls文件只是忽略样式标签。 我在iReport 3中创build了这个报告。我选中了“Is Styled Text”框,并尝试了所有可用的标记样式(RTF,HTML和None),但我无法生成样式化的xls。 你知道如何得到这个工作? 谢谢。

dynamic列与碧玉报告

我有一个CSV / Excel报告5固定列,我想添加更多的列,根据input。 每个报告生成可能需要不同数量的列。 jrxml方法已经完成,所以我的问题是 – 我可以在jrxml中添加dynamic列吗? 如果没有,那么编码的正确方法是什么? 例 注意 :我不喜欢使用Dynamic Jasper库

如何使用Spring响应下载excel文件

我试图通过使用Jasper Report 6.2.2来下载excel文件 这是我的spring控制器: @RequestMapping(value = "/downloadExcel", method = RequestMethod.POST) @ResponseBody public void downloadMyReportExcelFile(@RequestBody ExcelFilter excelFilter, HttpServletResponse response) { try { reportExportBo.downloadReportFile(response, excelFilter); } catch (Throwable e) { LOGGER.error("Unknown error at REST Service", e); } } 这里也是我的downloadReportFile方法代码: @Override public void downloadReportFile(HttpServletResponse response, ExcelFilter excelFilter) { List<myClassObject> myObjectList= objectRecordBo.myData(excelFilter); InputStream is = this.getClass().getClassLoader().getResourceAsStream("/my_reports.jrxml"); ExcelExporter exporter = […]