这是我的GeneratePdf.java导入…
public class GeneratePdf {
public static void main(String[] args) {
try {
JRDataSource ds = getDatasource();
// - Chargement et compilation du rapport
line32 JasperDesign jasperDesign = JRXmlLoader.load("/home/gocoffee.jrxml");
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
// - Paramètres à envoyer au rapport
Map parameters = new HashMap();
parameters.put("Titre", "Titre");
// - Execution du rapport
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,
parameters, ds);
// - Création du rapport au format PDF
JasperExportManager.exportReportToPdfFile(jasperPrint, "home/test2.pdf");
} catch (JRException e) {
}
}
Mongo连接并获取数据():
private static JRDataSource getDatasource() {
// Retrieve session
try{
Mongo m = new Mongo("localhost", 27017);
DB db = m.getDB("test");
DBCollection t = db.getCollection("test");
List<DBObject> list = t.getIndexInfo();
JRDataSource ds = new JRBeanCollectionDataSource(list);
return ds;
} catch (UnknownHostException e) {
System.out.println("Error mongo connection");
} catch (Exception e) {
System.out.println("Other Exception");
}
return null;
}
}
我收到此错误,但我不明白:
run:
17-Feb-2012 17:07:26 org.apache.commons.digester.Digester endElement
SEVERE: End event threw exception
java.lang.reflect.InvocationTargetException
....
....
at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:156)
at GeneratePdf.main(GeneratePdf.java:32)
Caused by: net.sf.jasperreports.engine.JRRuntimeException: No query executer factory registered for the 'MongoDbQuery' language.
at net.sf.jasperreports.engine.util.JRQueryExecuterUtils.getQueryExecuterFactory(JRQueryExecuterUtils.java:64)
at net.sf.jasperreports.engine.design.JRDesignDataset.queryLanguageChanged(JRDesignDataset.java:1122)
at net.sf.jasperreports.engine.design.JRDesignDataset.setQuery(JRDesignDataset.java:600)
at net.sf.jasperreports.engine.design.JasperDesign.setQuery(JasperDesign.java:789)
... 28 more
使用JRBeanCollectionDataSource不是使用MongoDB连接器的正确方法。看一下Jaspersoft MongoDB
Connector源附带的测试:
MongoDbDatasource / src / test / java / com / jaspersoft / mongodb /
ReportTest.java
二进制连接器和源代码都在项目页面上。
为了使这个答案保持独立,下面是一个代码片段,显示了如何填充MongoDB报告。这是我上面提到的文件的修改后的摘录。
String mongoURI = "mongodb://bdsandbox6:27017/test";
MongoDbConnection connection = null;
Map<String, Object> parameters = new HashMap<String, Object>();
try {
connection = new MongoDbConnection(mongoURI, null, null);
parameters.put(MongoDbDataSource.CONNECTION, connection);
File jasperFile;
jasperFile = new File("MongoDbReport.jasper");
JasperCompileManager.compileReportToFile("MongoDbReport.jrxml", "MongoDbReport.jasper");
JasperFillManager.fillReportToFile("MongoDbReport.jasper", parameters);
JasperExportManager.exportReportToPdfFile("MongoDbReport.jrprint");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (connection != null) {
connection.close();
}
}
我使用iReport设计了我的报告,并用Java编译了它。
我对JasperReports相当陌生,在从MongoDB中正确显示列表数据时遇到了挑战。 我当时正在写一篇文章,但似乎无法使它生效。 我在MongoDB中有以下集合: “行”是一个集合。 在iReport中,它显示为一个列表,这很好。然而,当我按照文章的建议将子数据源更改为
问题内容: 我正在尝试从列表中生成一个简单的 JR 报告。 我一直在 从bean检索name时出错:name 此错误是由于错误的getter方法名引起的,因为jasper使用反射来从bean中获取字段。但是,即使更正了getter方法名称。我不断收到这个例外。还有其他问题吗? 我的 jrxml 文件是 Bean类是 我在这里生成报告 我们是否需要对bean类进行更多修改? 问题答案: 解决方案非常
我已经使用MongoDB启动了一个新的Spring Boot应用程序(2.2.1.RELEASE)。 为了创建一些API文档,我添加了springdoc API: 由于我依赖Spring来处理RESTendpoint的生成,因此我创建了以下简单的存储库: 所以我没有使用的类。 我试图添加一些ProfileRepository中方法的注释,但不会生成任何内容。 : 如何为Spring数据REST存储
我正在创建一个JasperReports的报告,其中只有子报告。 以下是我目前面临的场景。 为了简化问题,让我们只考虑两个 jasper 报告:mainReport 和 subReportFile1。 我的主报告jasper文件如下: 子报表具有以下字段,我已为其创建了以下自定义 Bean 类,并将其作为参数发送到主报表文件。我有具有以下字段的自定义BeanClass: 我正在我的 java 文件
问题内容: 有人知道使用SAX框架(或类似的东西)和Java编写XML的好教程(或有好的示例)吗?就有用的结果而言,搜索产生的很少。我正在尝试从Android应用程序导出,并希望避免尽可能多的内存开销。 问题答案: 有一种非常有用的技术,可以通过 SAX框架 (不是SAX解析器,而是SAX框架)直接从POJO 生成 XML 。该技术可用于 生成XML文档 。 从任意数据结构生成XML http:/