我通过参数将字符串列表传递给 JasperReports 报告。
String jasperFileName = "C:\\TestReportProcess.jasper";
Map<String, Object> params = new HashMap<String, Object>();
params.put("List", getMyListOfString());
JasperPrint jprint = (JasperPrint) asperFillManager.fillReport(jasperFileName, params, new JREmptyDataSource());
Run Code Online (Sandbox Code Playgroud)
当报告开始时,它显示每个项目的逗号
item 1,
item 2,
item 3,
item 4,
etc etc
Run Code Online (Sandbox Code Playgroud)
怎样才能避免呢?
我的碧玉报告 xml
<parameter name="List" class="java.util.ArrayList" isForPrompting="false"/>
<detail>
<band height="280" splitType="Stretch">
<textField isStretchWithOverflow="true" pattern="">
<reportElement x="0" y="13" width="550" height="45" uuid="f907894e-e9f1-418b-9ab8-1db276b8482e"/>
<textElement>
<font fontName="Antique Olive Compact"/>
</textElement>
<textFieldExpression><![CDATA[$P{List}]]></textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>
Run Code Online (Sandbox Code Playgroud)
这是我的简单 xml 报告,只有一个参数 java.util.Arraylist
我使用 Netbeans 8.1 和 iReport 5.5.0 插件。我在我的报告字段中进行了更改。
$F{SASI_NO}.contains("-E")?$F{SASI_NO}.split("-")[0]:$F{SASI_NO}
Run Code Online (Sandbox Code Playgroud)
它在我的本地工作正常。但是我将它部署在服务器中。它不起作用,错误如下所示。
javax.servlet.ServletException: net.sf.jasperreports.engine.JRException: 编译报表表达式类文件时遇到错误: 1. java.lang.CharSequence 类型无法解析。它是从所需的 .class 文件 value = ((java.lang.String)field_SASI_NO.getValue()).contains("-E")?((java.lang.String)field_SAI_NO.getValue()).split 间接引用的("-")[0]:((java.lang.String)field_SAI_NO.getValue()); //$JR_EXPR_ID=31$
有人帮忙吗?
Jasper报告生成空白docx格式,如果有超过25列,并且它适用于pdf格式
有没有办法解决这个问题?
我正在使用自定义可视化组件和Highcharts 在Jaspersoft Studio 6.4中开发报告.
简而言之,在执行气泡图或面积图时,plotOptions.fillColor -attribute无法正常工作,但将气泡留在内部或堆积区域图表的内部为黑色.黑色通常表示未找到颜色,但区域图中的气泡/线条的线条可以正常工作.
以下是面积图的Highcharts脚本:
define(['jquery_hc','hchart'], function ($, Highcharts) {
return function (instanceData) {
// Creating the chart
var config = {
chart: {
type: 'area',
plotBorderWidth: 1,
renderTo: instanceData.id,
width: instanceData.width,
height: instanceData.height,
marginBottom: 15,
marginLeft: 40,
marginRight: 5,
marginTop: 5
},
title: {
text: ""
},
colors: ['#927453', '#9b672c', '#b0771e', '#e66726', '#474747', '#949494', '#feb40b', '#bd9c31', '#e0b33a'],
xAxis: {
allowDecimals: false,
title: {enabled: false},
labels: {enabled: false},
visible: false
},
legend: {
itemStyle: {"fontSize": 6}, …Run Code Online (Sandbox Code Playgroud)我的 jrxml 和 java 代码如下。我正在尝试创建包含一些文本和值的报告。但是会生成空白报告。我正在传递地图来填充报告作为参数。我必须添加 4-5 条静态行,然后添加一个动态变量。我已经在详细带中添加了这些东西。出了什么问题
<?xml version="1.0" encoding="UTF-8" ?>
<!-- Created with iReport - A designer for JasperReports -->
<!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport
name="Untitled_report_2"
columnCount="1"
printOrder="Vertical"
orientation="Portrait"
pageWidth="595"
pageHeight="842"
columnWidth="535"
columnSpacing="0"
leftMargin="30"
rightMargin="30"
topMargin="20"
bottomMargin="20"
whenNoDataType="NoPages"
isTitleNewPage="false"
isSummaryNewPage="false">
<property name="ireport.scriptlethandling" value="0" />
<property name="ireport.encoding" value="UTF-8" />
<import value="java.util.*" />
<import value="net.sf.jasperreports.engine.*" />
<import value="net.sf.jasperreports.engine.data.*" />
<field name="Field" class="java.lang.String"/>
<background>
<band height="0" isSplitAllowed="true" >
</band>
</background>
<title>
<band height="50" isSplitAllowed="true" >
</band>
</title>
<pageHeader>
<band …Run Code Online (Sandbox Code Playgroud) 我正在使用 Jasper iReport 5 中的条件格式生成中文以及其他几种语言的文档。我的 lib 文件夹中有 iTextAsian.jar。生成的 PDF 在 IE、Firefox、Adobe、Foxit 中显示中文,但在Chrome 中不显示。
在 Chrome 中,所有中文字符都丢失了。我将 isPdfEmbedded 设置为 true。这是我分配给中文字段的样式。我没有嵌入吗?
<style name="DynamicFont" isDefault="true" forecolor="#000000" backcolor="#FFFFFF" isBlankWhenNull="false" fontName="SansSerif" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfFontName="Helvetica" isPdfEmbedded="true">
<conditionalStyle>
<conditionExpression><![CDATA[$F{locale}.toString().compareToIgnoreCase("am_ET") == 0]]></conditionExpression>
<style mode="Transparent" forecolor="#000000" fontName="SansSerif" pdfFontName="Amharic-Eng-Regular.ttf" pdfEncoding="Identity-H" isPdfEmbedded="true"/>
</conditionalStyle>
<conditionalStyle>
<conditionExpression><![CDATA[$F{locale}.toString().compareToIgnoreCase("vi_VN") == 0]]></conditionExpression>
<style mode="Transparent" forecolor="#000000" fontName="SansSerif" pdfFontName="customizationsFonts/Roboto-Regular.ttf" pdfEncoding="Identity-H" isPdfEmbedded="true"/>
</conditionalStyle>
<conditionalStyle>
<conditionExpression><![CDATA[$F{locale}.toString().compareToIgnoreCase("zh_CN") == 0]]></conditionExpression>
<style mode="Transparent" forecolor="#000000" fontName="SansSerif" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
</conditionalStyle>
</style>
Run Code Online (Sandbox Code Playgroud)
这是 Chrome 问题还是关于我使用 iReport 生成 PDF 的方式? …
在这个例子中子报告重叠 - 我做错了什么?第二个应该"浮动"在第一个之下,其"y"属性被忽略,但事实并非如此.
谢谢 !!
<?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="report name" pageWidth="595" pageHeight="842" columnWidth="535" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
<parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false">
<defaultValueExpression><![CDATA["C:\\reportFolder\\"]]></defaultValueExpression>
</parameter>
<background>
<band/>
</background>
<detail>
<band height="200">
<subreport>
<reportElement positionType="FixRelativeToTop" x="19" y="0" width="200" height="50"/>
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.JREmptyDataSource()]]></dataSourceExpression>
<subreportExpression class="java.lang.String"><![CDATA[$P{SUBREPORT_DIR} + "report1.jasper"]]></subreportExpression>
</subreport>
<subreport>
<reportElement positionType="Float" mode="Transparent" x="19" y="20" width="200" height="50" backcolor="#FFFF66"/>
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.JREmptyDataSource()]]></dataSourceExpression>
<subreportExpression class="java.lang.String"><![CDATA[$P{SUBREPORT_DIR} + "report1.jasper"]]></subreportExpression>
</subreport>
</band>
</detail>
</jasperReport>
Run Code Online (Sandbox Code Playgroud) 我想创建一个必须从不同表调用多个字段的报告。到目前为止,根据我在网上阅读的内容,唯一的方法就是拥有子报表。
这是真的吗,还是我可以对多个表运行多个查询以检索数据?
我搜索了几天来修复这个bug并没有什么新东西.
我有一个报告,其中包括多级子报告,一切正常iReport 3.7.5.我subreport.jasper在第一级使用子报表表达式subreportA.jasper,subreportB.jasper在第二级使用并将所有(主报表和子报表)放在同一路径中.
当我尝试在我的部署上时出现问题JasperServer.当我尝试上传第一个主报表时,iReport向导提示我附加subreport.jrxml资源文件夹中的第一个并使用repo:subreport.jrxml或访问它repo:subreport.jasper.然后我手动上传第二级子报表并执行相同的操作将子报表表达式更改为repo:subreportA.jasper和repo:subreportB.jasper.
我有编译错误: Unable to locate the subreport with expression: ""repo:subreport.jasper"". java.lang.Exception: repo:subreport.jrxml not found.
我尝试打解决方案,没有任何作用.使用:SUBREPORT_DIR @开头,
使用完整路径:repo:/Circuit_Reports/Connectivity/Connectivity_files/,
在.jasper&之间切换.jrxml.
jasperserver_api_engine_impl_0_fix.jar在lib文件夹中使用作为此bug的固定,
我还搜索了数据库记录,以确保它们位于同一个文件夹中并具有相同的父文件夹.
我需要知道 Jasperserver 用于存储来自 IReport 的上传资源的物理位置。
java ×3
jasperserver ×2
arraylist ×1
docx ×1
fonts ×1
highcharts ×1
ireport ×1
javascript ×1
mysql ×1
subreport ×1