我创建了一个报告来生成具有部门列表的用户.我需要计算组,但不是组内的记录.
如何使用JasperReports?
例如: -
**No: 1**
Name : User1
Department: Depart1
Depart2
Depart3
**No: 2**
Name : User2
Department: Depart1
Depart2
Depart3
**No: 3**
Name : User3
Department: Depart1
Depart2
Depart3
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,我需要计算3个用户的计数1,2,3.我不希望编号计算用户内的记录,这意味着我不需要计数来计算每个用户的部门数量.
目前,我为User创建了一个组,并且有一个变量自动创建"User_COUNT".我在我的细节乐队中使用它,但它似乎计算用户组中的每个记录.
这是我的第一个Java应用程序,我对Java和NetBeans完全缺乏经验.
我一直在尝试连接到sql并获取一些记录2天.问题是关于jdbc驱动程序,让我解释一下.我已经下载了sqljdbc驱动程序,然后按照以下步骤操作:
右键单击Project-> Select Properties->在左侧单击Libraries-> Compile选项卡 - 单击Add Jar/Folder按钮并选择sqljdbc4.jar文件.那应该没问题吧?
然后我写了这段代码但是我无法摆脱这个异常:
Exception in thread "main" java.lang.ClassNotFoundException:
com.microsoft.sqlserver.jdbc.SqlServerDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:190)
at javaapplication1.JavaApplication1.main(JavaApplication1.java:30)
Run Code Online (Sandbox Code Playgroud)
这是代码
public static void main(String[] args) throws ClassNotFoundException, SQLException {
String url = "jdbc:sqlserver://.\\SQLEXPRESS;databaseName=Northwind; Integrated Security = SSPI ";
Connection con = null;
Statement stmt = null;
ResultSet rs = …Run Code Online (Sandbox Code Playgroud) 我想在我的静态文本和文本字段中添加项目符号,我将样式标记添加到jrxml但是它对我不起作用:
这是一个例子:
文本域 :
<textField isBlankWhenNull="true">
<reportElement uuid="cfd514bc-d1c5-4369-b10d-71042b046e37" x="11" y="0" width="400" height="12"/>
<textElement/>
<textFieldExpression><![CDATA[<style size="40">.</style>$F{LMSG}]]></textFieldExpression>
</textField>
Run Code Online (Sandbox Code Playgroud)
静态文本:
<staticText>
<reportElement uuid="c1485aba-09a4-4c7b-9106-0893341f1368" x="44" y="107" width="309" height="15"/>
<textElement>
<font size="9"/>
</textElement>
<text><![CDATA[<style size="40">.</style>Je déduis cet avoir de ma commande]]></text>
</staticText>
Run Code Online (Sandbox Code Playgroud) 我想用Jasper Reports创建CSV.有很多相关的问题,但没有什么对我有用.下面是我的bean类:
public class DataBean {
public String First_name;
public String Last_name;
public String Designation;
public String Department;
public void setfirstName(String First_name) {
this.First_name = First_name;
}
public String getfirstName() {
return First_name;
}
public void setLastName(String Last_name) {
this.Last_name = Last_name;
}
public String getlastName() {
return Last_name;
}
public void setdesignation(String Designation) {
this.Designation = Designation;
}
public String getdesignation() {
return Designation;
}
public void setDepartment(String Department) {
this.Department = Department;
}
public String getDepartment() {
return …Run Code Online (Sandbox Code Playgroud) 我正在使用JasperReports生成一个报告,并假设将其导出为多种格式.但目前我只使用excel报告.
这是我的控制器代码.
InputStream in = reportTemplate.getTemplate(reportInquery.getTemplateFile());
JasperPrint print = JasperFillManager.fillReport(in, null,
new JRResultSetDataSource(reportDao.getReportData(reportInquery)));
resp = HttpConfig.setHeaders(reportInquery, resp);
Exporter exporter = reportOption.getRenderOptions(reportInquery.getFormat(), resp.getOutputStream(), print);
exporter.exportReport();
Run Code Online (Sandbox Code Playgroud)
在我的配置工厂中,excel报告在调用getRenderOptions方法后配置如下.
public Exporter exporterOptions(OutputStream outputStream, JasperPrint print) {
JRXlsExporter exporter = new JRXlsExporter();
exporter.setExporterInput(new SimpleExporterInput(print));
OutputStreamExporterOutput outputStreamExporterOutput = new SimpleOutputStreamExporterOutput(outputStream);
exporter.setExporterOutput(outputStreamExporterOutput);
SimpleXlsReportConfiguration configuration = new SimpleXlsReportConfiguration();
configuration.setOnePagePerSheet(true);
configuration.setDetectCellType(true);
configuration.setMaxRowsPerSheet(100);
configuration.setRemoveEmptySpaceBetweenColumns(true);
configuration.setRemoveEmptySpaceBetweenRows(true);
exporter.setConfiguration(configuration);
return exporter;
}
Run Code Online (Sandbox Code Playgroud)
创建JRResultSetDataSource我OracleCachedRowSet在上面的getReportData方法中使用了oracle .
public RowSet getReportData(ReportInqueryDTO reportInquery) {
try {
String query …Run Code Online (Sandbox Code Playgroud) 我在Jaspersoft Studio中使用Jasper Reports 6.0.1.
我有一个包含子报告的报告.子报表正确地从主报表获取数据集,其值为: - string - double
我在报告中正确显示double值时遇到问题.所以Json包含的值如下:
'doubleValue':'0.431'
字段'doubleValue'在子报表中正确定义:
<field name="doubleValue" class="java.lang.Double">
<fieldDescription><![CDATA[doubleValue]]></fieldDescription>
</field>
Run Code Online (Sandbox Code Playgroud)
并且'doubleValue'似乎在报告中正确使用:
<textField pattern="#0.00">
<reportElement x="690" y="0" width="75" height="30" uuid="d265ebec-6fa7-421e-8d58-c7f2d32eea6b">
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<box>
<topPen lineWidth="0.1"/>
<bottomPen lineWidth="0.5"/>
<rightPen lineWidth="0.5"/>
</box>
<textElement>
<font size="9"/>
</textElement>
<textFieldExpression><![CDATA[$F{doubleValue}]]></textFieldExpression>
</textField>
Run Code Online (Sandbox Code Playgroud)
doubleValue似乎在输出中正确格式化:'3.00'
但是:字段值的来源是3.41.所以我深入检查了这些值,无论小数分隔符后面是什么,所有值都被格式化为'x.00'.
请帮帮我,我做错了什么?
我需要正确导出到XLSX数据(所以它知道有在单元格中的数字),而我使用这个以下选项:
<property name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/>
Run Code Online (Sandbox Code Playgroud) 在我的报告的jrxml设计中,我的详细信息部分中有一列为特定组打印相同的内容.例如,如果我有一个国家列美国,下一列包含其状态.美国国家/地区重复每个条目.所以我需要合并国家细胞有美国价值.我需要合并列的所有单元格具有相同的值,并应将其显示为单个单元格,并且应将其文本垂直和水平对齐.任何人帮助我如何通过使用jrxml实现这一目标?
一切都在细节乐队中.
我正在努力获得如下图所示的报告
更新:
从Peter的回答我有一个疑问,如果我的xml是这样的:
<report>
<row1>
<country>INDIA</country>
<state>Haryana</state>
</row1>
<row2>
<country>INDIA</country>
<state>Punjab</state>
</row2>
<row3>
<country>INDIA</country>
<state>Maharashtra</state>
</row3>
</report>
Run Code Online (Sandbox Code Playgroud)
如果我的xml如上所述,如何创建报告?
我正在使用iReport处理包含许多子报表的报表。
从我的应用程序生成报告时,我想在excel文件中另放两张纸。
在互联网上搜索时,我发现了有关在报表中创建中断的答案,在子报表“ true”中具有选项“忽略分页”,但对我来说仍然不清楚。
我有哪些选择来控制创建新工作表的方式和时间
jasperreports-javaflow的用途是什么?
我提到了以下两个链接,不清楚。你能详细说一下!
http://community.jaspersoft.com/questions/529333/jasperreports-javaflow-versus-jasperreports
文档已过时,仍然无济于事。我使用对话框添加类和静态方法,以及包含相关类的.jar文件的路径。
当我点击测试连接时,我收到一条错误消息,提示它找不到课程。
是的,jar文件位于该路径。我是否需要在项目属性中其他地方的那条路径上走得更远?