JasperReports: как форматировать числовые данные с помощью Excel exporter

Я использую iReport 2.0.2. У меня проблема с форматированием числовых данных после генерации отчета с помощью экспортера Excel.

Например, 85110057689 строка отображается как 8.51100e+10 в файле Excel (в результате использования кнопки "Предварительный просмотр в Excel" в iReport).

Подскажите, пожалуйста, как изменить формат на простой (не научный).

2 ответа

Решение

Мы можем использовать свойство net.sf.jasperreports.export.xls.detect.cell.type для решения проблемы.

Цитата из документации:

net.sf.jasperreports.export.xls.detect.cell.type

Свойство, значение которого используется в качестве состояния по умолчанию флага экспорта IS_DETECT_CELL_TYPE.

Указывает, должен ли экспортер учитывать тип исходных выражений текстового поля и соответственно устанавливать типы ячеек и значения.

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

<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" ...>
    <property name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/>

Чтобы предотвратить отображение большого числа в научной нотации в Excel, убедитесь, что вместо значения вы ставите = "значение" в ячейке Excel.

например, если числовое значение = 85110057689, преобразуйте значение в строковый формат и отформатируйте результат как '="85110057689", где двойные кавычки обертывают большое число, а впереди стоит знак "=".

Другие вопросы по тегам