JasperReports Доклад Библиотека

JasperReports - е Java-библиотека от група Jaspersoft Общността. която позволява чрез jrxml-шаблони (JasperReports XML) и набор от данни от различни източници, включително JDBC. създавате отчети в различни формати. Докладите могат да бъдат представени на екрана, и на изхода на принтер или файл.

възможности JasperReports

безплатен инструмент за динамично създаване на отчети въз основа на JasperReports. Позволява ви да създадете бързо доклади и документи, които могат да бъдат показани на екрана, изпратена до принтера или да се изнася редица известни формати PDF, Excel, Word. Изтеглете приложението и примери с изходния код, моля, посетете DynamicReports за програмисти.

разпределителни JasperReports

Изтеглете JasperReports библиотека и нейните компоненти могат да бъдат обект производител Jaspersoft Общността. В допълнение към библиотеката, вие все още трябва да зависи. Следващият списък от зависимости е била използвана в примера по-долу с библиотека JasperReports-5.6.1.jar:

  • com.lowagie.text-2.1.7.jar
  • мери биореактор-2.1.jar
  • Commons-сеч-1.2.jar
  • Jasper-компилатор-JDT-5.5.9
  • org.apache.commons.beanutils.jar
  • org.apache.commons.collections.jar

Структура jrxml-шаблон

JasperReports шаблон за отчет - това .jrxml файл, който описва структурата на доклада, нейният дизайн и логиката.

Входните данни са параметри и източник на данни доклад (източник на данни). Параметрите са входните аргументи, които по същество са променливи Java приложения. Техните стойности не са се променили и на доклада може да се показват, тъй като заглавието на доклада, като горния или долния колонтитул на всяка страница.

За да се покаже информацията в отчета на базата на динамично и статично поле TextField поле StaticText. Динамичната поле се използва за параметри или поле на източника на данни и статични - за непрекъснат текст.

Докладите се състоят от части (лента), следвайки една след друга строго вертикално. Всеки раздел принадлежи към определен тип, което засяга неговия дисплей в доклада:

заглавна в началото на доклада;

Пример jrxml-шаблон

Това е пример за създаване на отчет в преписката по форма report.pdf. формиране на следващата страница:

Тук ще разгледаме jrxml-шаблон "отвътре".

Списъкът с параметрите, полета и променливи

В началото на параметрите (параметър), полски (поле) JavaBean обекти и вариабилен (променлив) докладване заглавието описващи определена. На етикета на всеки обект се описва като тип атрибут обект клас. Параметърът шаблон текст е обозначена като $ P, съответно поле - $ F и променливата на - $ V. Свръзките на съответния обект, е показан чрез името му.

Параметърът "дата" се предава в доклада като тип java.util.Date обект и ще бъде използван в заглавната част на доклада. държавната сфера, т, дата, количество и цена са JavaBean обектните данни, определени и се използват при формирането на една маса в раздел Подробности. Променлива "разходи" се получава стойност, определяне на стойността на стоките (количество продукт и цена), и се използва в раздел Подробности като колона маса.

ЗАБЕЛЕЖКА. използвани в jrxml-шаблон е стенографско съкращението CDATA "символни данни" експресия, което в превод означава "символни данни". Използвайте CDATA в HTML език за маркиране, XHTML, XML, и показва, че определена част от документа е символни данни, за разлика от не-герой или герой, но по специален начин на структурирани данни. Фрагментът на XML документ, който се поставя вътре CDATA се отнася до съдържанието на елемента, който е маркиран за анализатора като съдържащ само данни характер, а не за маркиране.
В jrxml-шаблонни CDATA полета, използвани за обозначаване $ F, променливи и параметри $ V $ P, както и за определяне на изразяване (вж. Променлива цена, sum_group, с пълно).

Заглавие Заглавие на доклада

Доклад Header Раздел Тя включва подраздел <band>, където маркера се определя от вертикалния размер. В подраздел <band> включено поле <textField>, в които ще бъдат показани от датата на образуване на доклада. свободен край <reportElement> подраздели определя размера на елемента. Подравняване на текста се определя в textAlignment на маркер. Tags textFieldExpression patternExpression и определя параметрите и форматът на стойностите на дата.</p> <h3>ColumnHeader заглавия на колони</h3> <p>Раздел заглавните колони <columnHeader> 6 включва същата област описание на тип (по-долу в регистрация само две първо поле и последното поле). Разликите в полето за описание свързана единствено с ценностите:</p> <ul> <li>х - преместване поле от лявата секция ръб; Тя се определя като сумата от "х" стойностите и "ширина" на предходното поле (за първото поле са нула);</li> <li>ширина - размера на полето;</li> <li>текст - заглавната част.</li> </ul> <p>Внимание трябва да се обърне към подчертаване клетки бледо сиво. За тази цел се създава флаг е установен режим = "Opaque" и се определя от атрибута стойност backcolor.</p> <h3>Невярно Подробности данни</h3> <p>Площта на данни <detail> почти идентичен на секцията columnHeader. клетки, определени от изместване на лявата част и размера на клетките; всяка клетка има граница на пакет (раздел <box>) И в съответното вертикално положение. Освен това, тя показва вдлъбнатината от лявата страна leftIndent клетката за текстовите стойности в привеждането в съответствие на ляво (по подразбиране), и rightIndent за числови стойности при настройката на правото.</p> <p>Различията се отнасят до стойност по-клетъчен дисплей определя от маркера <textFieldExpression>. Освен това, за датата на полето $ F дефиниран формат на стойността. Ако не определя стойността на образци за представяне, за даден обект в деня на JavaBean да добавите текущото време на генериране на отчети.</p> <h3>Пример за създаване на доклад</h3> <p>Като първа стъпка, можете да създадете доклад JasperReport Eclipse проект на доклад-генератор, чиято структура е показана на снимката по-долу.</p> <p>Проектът включва JasperReports-5.6.1.jar библиотека с набор от модули и зависими следните класове и шаблон:</p> <p>JavaBean клас се използва за описание на данни;</p> <p>Следните действия са били извършени, когато в доклада:</p> <ol> <li>Образуване на набор от данни.</li> <li>входен параметър Определяне.</li> <li>Сграда JasperReport доклад обект на базата jrxml-шаблон и параметър за въвеждане.</li> <li>Изтегляне на обекта на данните от доклада.</li> <li>доклад Vyvov във файл.</li> </ol> <h4>обява DataBean.java</h4> <p>DataBean.java използва за формиране на масива от данни. Класът включва три типа данни (String, Дата, вътр), така че те биха могли да бъдат различни vyravnimat и форматиране на доклада. Класът включва набор дизайнер и се получи / зададе методи.</p> <h4>обява Data.java</h4> <p>Генериране на набор от класа на данни, което е колекция DataBean тип обект.</p> <h4>обява ReportGenerator.java</h4> <h2>изтегляне пример</h2> <p>Изходния код примери за създаване на поколение доклад, използвайки JasperReports библиотека могат да бъдат изтеглени тук (7.96 KB).</p> <p>JDBC конфигурация например в Пари | Спорт кандидатстване и образуване доклад JasperReport може да се види тук.</p> <hr> </div> <div class="extra"> <div class="clear"></div> </div> </article> </div> </div> </div> </div> <div id="sidebar" class="col-1-3"> <div class="wrap-col"> <div class="box"> <div class="content"> <ul> <li><a href="/articles/bjuro-za-izpisvane-kojto-oznachava-sluzhbata-kak.html">Бюро за изписване, който означава службата, как да обяснят на правописа дума офис офис стрес</a></li> <li><a href="/articles/izgrazhdane-na-toaletni-v-krajgradskite-zoni.html">Изграждане на тоалетни в крайградските зони</a></li> <li><a href="/articles/gashherizoni-izberete-tnkostite-tajnite-na-doma.html">Гащеризони - изберете тънкостите, тайните на дома оформяне</a></li> <li><a href="/articles/lov-i-ribolov-forum-vizh-temata-beli-shhrkeli.html">Лов и риболов форум - Виж темата - бели щъркели могат да направят в домашни условия</a></li> <li><a href="/articles/kak-da-szdadete-fajl-karaoke.html">Как да създадете файл караоке</a></li> </ul> </div> </div> </div> </div> </div> </div> </section> <footer> <div class="wrap-footer kidrfgnb"> <div class="row"> <div class="col-full"> <div class="wrap-col"> <div class="box"> <div class="content"> <ul> <li><a href="/articles/hrt-v-bbrecite-simptomi-otkolkoto-da-se-lekuva-i.html">Хърт в бъбреците симптоми, отколкото да се лекува, и какво да правя у дома</a></li> <li><a href="/articles/izteglete-tatko-na-dshherja-2-haknat-plna-versija.html">Изтеглете татко на дъщеря 2 хакнат пълна версия на Android</a></li> <li><a href="/articles/mnenija-juice-xango.html">мнения Juice Xango</a></li> <li><a href="/articles/kak-brzo-da-raste-brada-v-19-godini-tijnejdzhr.html">Как бързо да расте брада в 19 години тийнейджър</a></li> <li><a href="/articles/kalf-za-shranenie-na-kozmetika-sephora-230546se.html">Калъф за съхранение на козметика Sephora № 230546se - «много удобен калъф за носене, всички козметика монтаж! "</a></li> </ul> </div> </div> </div> </div> </div> </div> <div class="copyright"> <p>© Copyright 2026 | Всички права запазени</p> </div> </footer> </div> <style> #cookieNoticeOverlay{position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.72);display:none;align-items:center;justify-content:center;padding:20px}#cookieNoticeBox{width:100%;max-width:520px;background:#fff;border-radius:18px;padding:28px 24px;box-shadow:0 20px 60px rgba(0,0,0,.35);font-family:Arial,sans-serif;text-align:center}#cookieNoticeBox h2{margin:0 0 14px;font-size:24px;line-height:1.25;color:#111}#cookieNoticeBox p{margin:0 0 22px;font-size:16px;line-height:1.5;color:#333}#cookieNoticeOk{display:inline-block;width:100%;max-width:240px;border-radius:12px;padding:14px 22px;background:#111;color:#fff;font-size:17px;font-weight:700;text-decoration:none;box-sizing:border-box;cursor:pointer}#cookieNoticeOk:hover{background:#333}body.cookie-notice-locked{overflow:hidden} </style> <div id="cookieNoticeOverlay"> <div id="cookieNoticeBox" role="dialog" aria-modal="true"> <h2>Cookie на сайта</h2> <p>Използваме cookie за правилната работа на сайта и подобряване на услугата.</p> </div> </div> <script> (function(){var storageKey='cookie_notice_ok_until';var showAgainAfter=24*60*60*1000;var now=Date.now();function getAcceptedUntil(){try{return Number(localStorage.getItem(storageKey))||0}catch(e){return 0}} function setAcceptedUntil(value){try{localStorage.setItem(storageKey,String(value))}catch(e){}} if(getAcceptedUntil()>now){return} var overlay=document.getElementById('cookieNoticeOverlay');var okLink=document.getElementById('cookieNoticeOk');if(!overlay||!okLink){return} function showNotice(){overlay.style.display='flex';document.body.classList.add('cookie-notice-locked')} function closeNotice(){overlay.style.display='none';document.body.classList.remove('cookie-notice-locked')} okLink.addEventListener('click',function(event){event.preventDefault();setAcceptedUntil(Date.now()+showAgainAfter);var rawHref=(okLink.getAttribute('href')||'').trim();if(rawHref==='#'||rawHref===''){closeNotice();return} var targetUrl=new URL(rawHref,window.location.origin).href;window.open(targetUrl,'_blank','noopener,noreferrer');closeNotice()});overlay.addEventListener('click',function(event){event.stopPropagation()});document.addEventListener('keydown',function(event){if(overlay.style.display==='flex'&&event.key==='Escape'){event.preventDefault();event.stopPropagation()}},!0);showNotice()})() </script></body> </html>