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", где двойные кавычки обертывают большое число, а впереди стоит знак "=".