дополнительные запятые в отчете csv jasper - PullRequest
0 голосов
/ 05 августа 2011

Я написал один и тот же jrxml для экспорта отчета в формате PDF и CSV.Отчет в формате pdf - это хорошо, но для отчета в формате csv он вставляет дополнительные запятые в строку.

Вот пример вывода отчета CSV:

TXN ID ,, TXN TIME ,,, AGENT, DP USER, USECASE, AMOUNT ,, COMMN 10000799,, 7/27/11: 58 PM ,,, Штаб-квартира, Штаб-квартира, Стандартный вход, 0 EUR ,, 0

Как видно, есть две запятые после txn id и три запятые после времени txn.

Любая идея, как я могу избежать этих дополнительных запятых?

Вот часть 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>

Спасибо!

Ответы [ 4 ]

1 голос
/ 22 февраля 2013

У меня была похожая проблема, и проблема, как оказалось, была вызвана вертикальным смещением полей в представлении конструктора.Решение состоит в том, чтобы убедиться, что все ваши элементы поля начинаются с одной и той же вертикальной позиции / уровня (т. Е. Установите свойство top для всех ваших полей, например, top = 0) в представлении конструктора.

  • midestar
1 голос
/ 11 октября 2013

Разработка отчетов для экспорта в CSV: http://community.jaspersoft.com/wiki/designing-reports-csv-export

Я добавил следующий совет: Убедитесь, что «Печать повторных значений» включена

Я надеюсь, что это может быть полезно.

1 голос
/ 09 августа 2011

Это может быть связано с графическим макетом в отчете.Между идентификатором TXN ID и элементами TXN TIME может быть некоторое пространство по горизонтали в дизайне отчета, тогда как элементы AGENT и DP USER могут находиться рядом друг с другом, без горизонтального разрыва.Экспортер CSV пытается создать макет, аналогичный дизайну отчета, по крайней мере при просмотре в приложении для работы с электронными таблицами.

0 голосов
/ 05 июня 2019

Обнаружил это, имея такую ​​же проблему, чтобы дать представление о том, как выглядел мой отчет:

ColumnHeader [Field1, Field2, Field3]
Detail Band  [List]

Где мой список был:

[field1|field2|field3]

И я видел тот же тип проблемы:

  • CSV без заголовка выглядел великолепно
  • CSV с заголовком добавлены дополнительные запятые между полями

После отладки я обнаружил, что в строке 232 JRCsvExporter

if (xCuts.getCut(x).isCutNotEmpty())

было правдой, поэтому были лишние запятые. Я не совсем уверен, откуда взялись CutInfo, и не потратил времени на отладку, чтобы понять это; но они определенно играют огромную роль. Я обнаружил, что вам нужно убедиться, что все ваши столбцы в CSV имеют точный размер (а не только номер).

После некоторого кропотливого ручного движения я обнаружил, что один Столбец 1 моего Списка был на 1 пиксель от размера заголовка моего столбца Столбец 1. После того, как вручную убедившись, что каждый столбец заголовка соответствует ширине столбцов в списке, отчет экспортирован без лишних запятых.

...