我正在使用Ganymed API来进入Unix服务器.我能够在服务器中创建文件,但文件的内容始终为空.
Ganymed API位置:http://www.ganymed.ethz.ch/ssh2/
码:
function (ByteArrayOutputStream reportBytes){
// reportBytes is a valid ByteArrayOutputStream
// if I write it to a file in to a local directory using reportBytes.writeTo(fout);
// I can see the contents */
byte byteArray[]=reportBytes.toByteArray();
SFTPv3FileHandle SFTPFILEHandle=sftpClient.createFileTruncate("test.txt");
//The file is created successfully and it is listed in unix
// The permissions of the file -rw-r--r-- 1 test.txt
sftpClient.write(SFTPFILEHandle, 0, byteArray, 0,byteArray.length );
//The above line doesnt seem to work, the file is always empty
} …Run Code Online (Sandbox Code Playgroud) 当页面中的最后一个条目太长时,它会在下一页显示,当它显示所有表格行都缺失时.
这是结果:

如何将最后一条记录(第26条)移至下一页,或如何显示该行?
当我们登录JasperServer默认页面名称为Jaspersoft:Login 时,如何将“ Jaspersoft:Login”页面名称更改为我们的“ Organization:Login”页面。登录后可以在浏览器中看到。
我正在使用JasperReport的iReport 4.5.0设计器来构建我的报告.我在时间戳字段startDate和问题上有一个问题endDate.在我的设计师中,我改变了格式startDate和endDate使用模式.
但是,问题在于,当我将报告导出为.excel或.pdf时,它仍然以时间戳格式提供日期,而不是YYYY-MM-dd我在模式中完成的格式.
我的报告使用starDate生成2012-03-01 00:00:00.0但我希望我的excel报告在2012-03-01喜欢starDate YYYY-MM-dd.
你有任何解决方案,我不想将我的数据库类型从datetime更改为date.
我的projectmain.jrxml文件代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="projectmain" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<import value="java.util.Date"/>
<parameter name="pagelimit" class="java.lang.Integer">
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>
<parameter name="pagestart" class="java.lang.Integer">
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>
<queryString>
<![CDATA[select * from project limit $P{pagestart},$P{pagelimit}]]>
</queryString>
<field name="projectid" class="java.lang.Integer"/>
<field name="enddate" class="java.sql.Timestamp"/> …Run Code Online (Sandbox Code Playgroud) 我在组页脚区域中设置了一个可变数据类型,它为报表中的每个组中的计数生成小计.效果很好.我希望在我的报告的最后一页上生成一个总计,简单地总结小计值.这很难弄明白.有什么建议?
我有一个要求,我必须在JasperReports中设计一个报告.该报告有4张.第一张纸有5页,类似地其他纸张有一页或两页.我面临的问题是如果我使用net.sf.jasperreports.export.xls.one.page.per.sheet属性并将其设置为true,然后所有页面都有不同的表格.我需要以这样的方式设计报告:某些页面将在同一张纸中,而某些页面则在不同的纸张中.
是否有可能做到这一点?
我正在尝试在JasperReports中使用条形码我正在使用barcode4j jar.我正在使用的罐子是:
我正在使用条形码的jrxml文件内容如下所示:
<title>
<band height="125">
<frame>
<reportElement x="0" y="0" width="555" height="40" />
<componentElement>
<reportElement style="Barcode" x="5" y="5" width="400" height="30"/>
<c:Code39 xmlns:c="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd">
<c:codeExpression>$F{OPA_ACK_NO_PK}</c:codeExpression>
</c:Code39>
</componentElement>
</frame>
</band>
</title>
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
net.sf.jasperreports.engine.JRRuntimeException: Could not resolve style(s): Barcode4j
at net.sf.jasperreports.engine.fill.JRFillObjectFactory.checkUnresolvedReferences(JRFillObjectFactory.java:1577)
at net.sf.jasperreports.engine.fill.JRFillObjectFactory.setStyles(JRFillObjectFactory.java:1504)
at net.sf.jasperreports.engine.fill.JRBaseFiller.loadStyles(JRBaseFiller.java:912)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:804)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:746)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:58)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417)
at Report.Test.main(Test.java:162)
Run Code Online (Sandbox Code Playgroud)
请指导我做错了什么?
删除条形码样式标记的注释后,我摆脱了该错误并得到另一个异常:
Exception in thread …Run Code Online (Sandbox Code Playgroud) 子报表有两个Detail带,第一个是"Title",第二个是子报表.这些乐队在两页上相互分开.
我试了很多没有结果的属性作为"忽略分页"和"分裂允许"
我的问题是:我如何强制ireport不要将我的子报表分成两页?
我有一些截图:
主报告:

子报告:

另一个子报告:

生成的pdf文件如下所示:

我搜索了整个互联网以及这个论坛,但我找不到一种方法来实现类似下表.我正在使用iReport 4.7.1.
请给我一个提示?

我正在使用JasperReportBuilder并将报告导出为PDF.报告的全部内容由MultiPageListBuilder,HorizontalListBuilder和VerticalListBuilder生成,我不想传递数据源,因为数据来自各种数据源.我想利用页面页脚和页眉来添加到每页的静态页眉和页脚以及页码.如果我尝试使用addDetail(componentBuilder)方法添加 MultiPageListBuilder在*详情&乐队(因为这MultiPageListBuilder包含多个页面数据),空白报表生成.如果我在Title或Summary band中添加MultiPageListBuilder,则报告生成完美,但Page Header和Page Footer band消失.
示例代码段如下
JasperReportBuilder rpt = net.sf.dynamicreports.report.builder.DynamicReports.report();
MultiPageListBuilder multiPageList = cmp.multiPageList();
HorizontalListBuilder hrbld = cmp.horizontalList();
try {
rpt.addTitle(cmp.text("REPORT TITLE"));
rpt.addTitle(cmp.text("--------------"));
rpt.addPageHeader(cmp.pageXofY());
for (int i = 0; i < 200; i++) {
hrbld = cmp.horizontalList();
hrbld.add(cmp.text("ABC " + i)).newRow();
multiPageList.add(hrbld);
}
rpt.addDetail(multiPageList);
rpt.summaryOnANewPage();
rpt.addSummary(cmp.text("REPORT SUMMARY"));
JasperPdfExporterBuilder pdfExporter = Exporters.pdfExporter("report.pdf");
rpt.toPdf(pdfExporter);
File file = new …Run Code Online (Sandbox Code Playgroud)