Вы можете обновлять значения из другой таблицы, используя внутреннее объединение, как это
UPDATE [table1_name] AS t1 INNER JOIN [table2_name] AS t2 ON t1.column1_name] = t2. [column1_name] SET t1. [column2_name] = t2.column2_name];
Следуйте здесь, чтобы узнать, как использовать этот запрос http://www.voidtricks.com/mysql-inner-join-update/
, или вы можете использовать select в качестве подзапроса для этого
UPDATE [table_name] SET [имя_столбца] = (SELECT [имя_столбца] FROM [имя_таблицы] WHERE [имя_столбца] = [значение]) WHERE [column_name] = [значение];
подробно описан здесь http://www.voidtricks.com/mysql-update-from-select/
Хорошо, вот как это работает; JasperFillManager
фактически возвращает объект JasperPrint
, поэтому:
// get the JRXML template as a stream
InputStream template = JasperReportsApplication.class
.getResourceAsStream("/sampleReport.xml");
// compile the report from the stream
JasperReport report = JasperCompileManager.compileReport(template);
// fill out the report into a print object, ready for export.
JasperPrint print = JasperFillManager.fillReport(report, new HashMap<String, String>());
// export it!
File pdf = File.createTempFile("output.", ".pdf");
JasperExportManager.exportReportToPdfStream(print, new FileOutputStream(pdf));
Наслаждайтесь.
JRExporterParameter устарел в последних версиях, это не устаревшее решение @stevemac answer
JRPdfExporter exporter = new JRPdfExporter(); exporter.setExporterInput(new SimpleExporterInput(jasperPrint)); exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(outputStream)); SimplePdfExporterConfiguration configuration = new SimplePdfExporterConfiguration(); configuration.setMetadataAuthor("Petter"); //why not set some config as we like exporter.setConfiguration(configuration); exporter.exportReport();
Вы можете использовать JRExporter для экспорта заполненного отчета в разные потоки и форматы.
JRExporter exporter = null;
exporter = new JRPdfExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, outputStream);
exporter.exportReport();
Также обратите внимание, что есть и другие экспортеры:
exporter = new JRRtfExporter();
exporter = new JRHtmlExporter();
Вы можете найти больше экспортеров доступно здесь: http://jasperreports.sourceforge.net/api/net/sf/jasperreports/engine/JRExporter.html
Все они должны принимать параметр OUTPUT_STREAM для контролировать назначение отчета.
exportReportToPdfFile
без обработки выходного потока самостоятельно – Rangi Lin 20 December 2011 в 03:56.jasper
, а не перекомпилировать файл.jrxml
каждый раз. – Dave Jarvis 2 October 2016 в 08:50