Jasper reports 为什么csv导出中会有额外的逗号?
我已经编写了相同的jrxml来导出pdf和csv格式的报告。 pdf报告很好,但对于csv报告,它在一行中插入了额外的逗号 以下是csv报告输出的示例:Jasper reports 为什么csv导出中会有额外的逗号?,jasper-reports,export-to-csv,Jasper Reports,Export To Csv,我已经编写了相同的jrxml来导出pdf和csv格式的报告。 pdf报告很好,但对于csv报告,它在一行中插入了额外的逗号 以下是csv报告输出的示例: TXN ID,,TXN TIME,,,AGENT,DP USER,USECASE,AMOUNT,,COMMN 10000799,,7/27/11 7:58 PM,,,Headquarter,Headquarter,Standard In,0 EUR,,0 可以看出,txn id后面有两个逗号,txn time后面有三个逗号 你知道我怎样才能避
TXN ID,,TXN TIME,,,AGENT,DP USER,USECASE,AMOUNT,,COMMN
10000799,,7/27/11 7:58 PM,,,Headquarter,Headquarter,Standard In,0 EUR,,0
可以看出,txn id后面有两个逗号,txn time后面有三个逗号
你知道我怎样才能避免这些额外的逗号吗
下面是XML的一部分
<staticText>
<reportElement key="element-91" x="0" y="27" width="60" height="16" forecolor="#FFFFFF"/>
<box leftPadding="2" rightPadding="2">
<topPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font fontName="" size="12"/>
</textElement>
<text><![CDATA[TXN ID]]></text>
</staticText>
<staticText>
<reportElement key="element-90" x="60" y="27" width="65" height="16" forecolor="#FFFFFF"/>
<box leftPadding="2" rightPadding="2">
<topPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font fontName="" size="12"/>
</textElement>
<text><![CDATA[TXN TIME]]></text>
</staticText>
这可能与报告中的图形布局有关。在TXN ID和TXN时间元素之间,在报告设计中可能存在一些水平空间,而元素代理和DP用户可能相邻,没有水平间隙。CSV导出器尝试创建类似于报表设计的布局,至少在电子表格应用程序中查看时是这样。这可能与报表中的图形布局有关。在TXN ID和TXN时间元素之间,在报告设计中可能存在一些水平空间,而元素代理和DP用户可能相邻,没有水平间隙。CSV导出器尝试创建类似于报表设计的布局,至少在电子表格应用程序中查看时是这样。我也遇到过类似的问题,问题最终证明是由designer视图中字段的垂直未对齐引起的。解决方案是确保所有字段元素在designer视图中从相同的垂直位置/标高开始(即,将所有字段的属性“top”设置为相同,例如top=0)
- 米德斯塔
- 米德斯塔
我希望这是有用的。为CSV导出设计报告: 我添加了下一个提示: 检查是否启用了“打印重复值”
我希望这是有用的。在遇到相同类型的问题时发现了这一点,以便了解我的报告是什么样的:
ColumnHeader [Field1, Field2, Field3]
Detail Band [List]
我的名单是:
[field1|field2|field3]
我也看到了同样的问题:
- 没有标题的CSV看起来很棒
- 带有标题的CSV在字段之间添加了额外的逗号
if (xCuts.getCut(x).isCutNotEmpty())
是真的,这就是为什么有额外的逗号。我不完全确定CutInfo(s)来自哪里,也没有花任何时间调试它;但它们确实发挥了巨大的作用。我发现您需要确保CSV中的所有列的大小都是准确的(不仅仅是数量)
经过一些艰苦的手动移动后,我发现列表中的一列1比我的列标题列1的大小小了1个像素。手动确保标题的每一列与列表中的列的宽度相匹配后,报表导出时不使用额外的逗号。在遇到相同类型的问题时发现了这一点,以便了解我的报表的外观:
ColumnHeader [Field1, Field2, Field3]
Detail Band [List]
我的名单是:
[field1|field2|field3]
我也看到了同样的问题:
- 没有标题的CSV看起来很棒
- 带有标题的CSV在字段之间添加了额外的逗号
if (xCuts.getCut(x).isCutNotEmpty())
是真的,这就是为什么有额外的逗号。我不完全确定CutInfo(s)来自哪里,也没有花任何时间调试它;但它们确实发挥了巨大的作用。我发现您需要确保CSV中的所有列的大小都是准确的(不仅仅是数量)
经过一些艰苦的手动移动后,我发现列表中的一列1比我的列标题列1的大小小了1个像素。手动确保标题的每一列与列表中的列的宽度匹配后,导出的报表没有额外的逗号。解决方案是将报表级别上的参数
isIgnorePagination
设置为true
解决方案是将报表级别上的参数isIgnorePagination
设置为truetxn id和txn时间元素之间没有额外的空间。我已经对问题进行了编辑,以包括部分XML。给定的XML摘录生成以下CSV导出:TXN ID,TXN TIME
。逗号可能是由报告中与txn id和txn时间不在同一x位置的其他(文本)元素引起的吗?txn id和txn时间元素之间没有额外的空间。我已经对问题进行了编辑,以包括部分XML。给定的XML摘录生成以下CSV导出:TXN ID,TXN TIME
。逗号可能是由报告中与txn id和txn时间不在同一x位置的其他(文本)元素引起的吗?