powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Jasper выгрузка поля с датой в Excel
9 сообщений из 9, страница 1 из 1
Jasper выгрузка поля с датой в Excel
    #40055129
sharkoff76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день
Формирую отчет из Oracle выгрузка в Excel.
Формат xlsx
Библиотеки: JasperReports Library version 6.11

Как то можно заставить поле с датой понималось excel как "родное" поле с датой?
...
Рейтинг: 0 / 0
Jasper выгрузка поля с датой в Excel
    #40055811
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sharkoff76,

ответ из категории общих знаний: выяснить удобный/понятный для Excel формат (завязан на клиентскую локаль?) и передавать дату в таком формате.
...
Рейтинг: 0 / 0
Jasper выгрузка поля с датой в Excel
    #40055818
sanBez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sharkoff76

Как то можно заставить поле с датой понималось excel как "родное" поле с датой?


Покажите код, который выполняет выгрузку в xlsx.
Из описания непонятно как происходит сама выгрузка.

Потому что
sharkoff76

Формирую отчет из Oracle выгрузка в Excel


Это скорее всего формирование самого отчета, а не выгрузка.
...
Рейтинг: 0 / 0
Jasper выгрузка поля с датой в Excel
    #40056778
sharkoff76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sanBez,

Добрый день
Уточняю
С помощью
jaspersoft-studio сфорировал отчет jrxml

смотрю интересующее поле с датой
////Тут много всего неинтересного

<field name="LASTMOVEDATE" class="java.sql.Date"/>
//// еще много всего
<textField pattern="d.M.yyyy" isBlankWhenNull="true">
<reportElement x="800" y="0" width="90" height="15" uuid="273edce8-59bf-4ba8-a025-4ff641fed38a">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.x" value="px"/>
</reportElement>
<textElement>
<font fontName="DejaVu Serif"/>
</textElement>
<textFieldExpression><![CDATA[$F{LASTMOVEDATE}]]></textFieldExpression>
</textField>


Запускаю формирование в XLSx
Получаю не очень красивое поле в excel. + для Excel оно вовсе не поле даты
...
Рейтинг: 0 / 0
Jasper выгрузка поля с датой в Excel
    #40056845
sanBez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не надо второй раз описывать проблему, она понятна.

Вы не отвечаете на вопросы
sanBez

Покажите код, который выполняет выгрузку в xlsx.

Я имел ввиду java-код.
Насколько я догадываюсь, кода выгрузки нет. И выгрузка идет чисто из JasperStudio из интерфейса.
Бедный пользователь.

Если поискать в настройках Studio (где конкретно находятся не скажу сейчас, поищите), то в параметрах экспорта должен быть чек-бокс типа "Auto detect cell type". Поставьте там галочку и будет вам счастье.

Если не найдете, то вручную в jrxml в тектовом редакторе вставить строку.

Код: xml
1.
<property name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/>



Вот первое что попалось под руку
http://jasperreports.sourceforge.net/sample.reference/xlsformula/index.html

Там про формулы, это не то, но приведенный кусок про detect.cell.type есть

Смутно помню (могу ошибаться, давно было) была еще проблема что этот параметр не остается в скомилированном отчете.
Типа из интерфейса норм c определением типа ячеек, при вызове из java опять не то.
Но как дойдете до кода выгрузки, там решите. Его можно программно устанавливать для xls экспортера
...
Рейтинг: 0 / 0
Jasper выгрузка поля с датой в Excel
    #40056856
sharkoff76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sanBez,

Запуск на исполнение сделан из PHP, через JasperStarter. Поэтому исходников Java у меня нет и не будет.

-Воткнул <property name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/>
-поиграл с pattern: пробовал и такую маску dd.MM.yyyy и .. разные варианты ..безуспешно.



Код: xml
1.
2.
3.
4.
5.
6.
7.
<textField pattern="d/M/yyyy" isBlankWhenNull="true">
				<reportElement x="710" y="0" width="90" height="15" uuid="f662cae8-4d3d-4ffc-bad2-5ad389916774">
					<property name="com.jaspersoft.studio.unit.height" value="px"/>
					<property name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/>
				</reportElement>
				<textFieldExpression><![CDATA[$F{LASTMOVEDATE}]]></textFieldExpression>
			</textField>
...
Рейтинг: 0 / 0
Jasper выгрузка поля с датой в Excel
    #40056865
sanBez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sharkoff76,

net.sf.jasperreports.export.xls.detect.cell.type
надо вставлять в самый верх отчета, а не в TextField.
Но скорее всего не поможет, как я уже писал.

Бегло пробежал по
http://jasperstarter.cenote.de/usage.html#Processing_reports

У меня впечатление что JaspertStarter просто не сможет решить означенную проблему.
А формат даты dd.MM.yyyy тут вообще никак не влияет.
...
Рейтинг: 0 / 0
Jasper выгрузка поля с датой в Excel
    #40057089
sharkoff76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
найдено в недрах исходников JasperStarter
Получается сам JasperStarter перекрывает мое форматирование.


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
    public void exportXlsx() throws JRException {
        Map<String, String> dateFormats = new HashMap<String, String>();
       dateFormats.put("EEE, MMM d, yyyy", "ddd, mmm d, yyyy");

        JRXlsxExporter exporter = new JRXlsxExporter();
        SimpleXlsxReportConfiguration repConfig = new SimpleXlsxReportConfiguration();
        exporter.setExporterInput(new SimpleExporterInput(jasperPrint));
		exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(getOutputStream(".xlsx")));
        repConfig.setDetectCellType(Boolean.TRUE);
        repConfig.setFormatPatternsMap(dateFormats);
        exporter.setConfiguration(repConfig);
        exporter.exportReport();
    }

sanBez,
...
Рейтинг: 0 / 0
Jasper выгрузка поля с датой в Excel
    #40057174
sanBez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sharkoff76,

Не похоже. В вашей эксельке формат как у вас и указано
textField pattern="d.M.yyyy"

А в принципе с этими промежуточными прокладками то одна беда, то другая.

Вот, например, еще были чудеса, так для инфо
https://www.sql.ru/forum/989519/ireport

Сама выгрузка элементарная, код вы видите.
Проще самому подобное написать и использовать.

Ну запуск отчета с параметрами еще реализовать и получите свой JasperStarter )))
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Jasper выгрузка поля с датой в Excel
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (1): Анонимы (1)
Пользователи онлайн (7): Анонимы (4), Yandex Bot 1 мин., Bing Bot 2 мин., RePredeclared 2 мин.
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]