class DarkRaha extends com { // разработка приложений
            String a="Главная" b="Контакты" c="О сайте"
};

генератор отчетов BIRT
отчеты в Ms Office
отчеты Rave Reports

Справка по отчетам

Генератор отчетов BIRT

На базе платформы Eclipse был создан проект BIRT (Business Intelligence and Reporting Tools) для создания отчетов в Java среде. Поэтому можно скачать готовую сборку Eclipse, включающую все необходимое для работы с BIRT.

Для использования отчетов в собственных java или web приложениях (без Eclipse), необходимо дополнительно скачать Runtime архив. В нем нам важна поддиректория ReportEngine, для простоты ее можно скопировать на диск C. Далее в

ReportEngine/plugins/org.eclipse.birt.report.data.oda.jdbc*/drivers

нужно скопировать jdbc драйвера, с которыми будете работать. Для компиляции такого приложения к проекту нужно подключить jar библиотеки из ReportEngine/libs. В движок BIRT входит два основных модуля:

создание отчета в Eclipse

Для создания файла шаблона отчета, выберем элемент Report в контекстном меню для текущего проекта на вкладке Package Explorer. Назовем его именем tstrep.rptdesign. Далее в окне мастера выберем пустой шаблон. После этого выберем предложеную настройку интерфейса, заточенную для работы с отчетом.

В левом верхнем углу выберем вкладку Data Explorer. Нажмем правую кнопку на элементе Data Source и выберем создание нового соединения к источнику данных отчета. В открывшемся окне выберем "JDBC Data Source" и зададим имя источника, например MySql16. В следующем окне нажмем кнопку "Manage Drivers" и добавим jdbc драйвер. Теперь можно выбрать класс драйвера, задать URL, например "jdbc:mysql://localhost:3306/test", имя пользователя и пароль. Если ошибок нет, то, нажав кнопку "Test connection" получим сообщение, что все хорошо и можно завершить создание соединения.

Теперь нажмем правую кнопку на элементе Data Set для создания выборки, которую будем отображать в отчете. В первом окне мастера задаем имя выборки, например myset, и указываем имя соединения. Во втором окне, будет отображен шаблон кода запроса "select from". Нам остается лишь дописать его. Следующее окно отображает характеристики созданного запроса, просто закроем его.

Вернемся на вкладку Palette, выберем элемент table и кинем его на страницу отчета. При этом будет предложено выбрать имя используемой выборки и задать число столбцов. После этого на странице отчета появится таблица из трех строк: заголовок (header), детали (details) и итоговой строки (footer row). Осталось заполнить ячейки таблицы. Для этого перейдем обратно на вкладку Data Explorer, раскроем в Data Set созданную нами выборку и перетащим нужные столбцы в ячейки на строке детали. При этом ячейки в заголовке заполнятся именами столбцов.

Колонтитулы страницы можно заполнить автоэлементами. Прямо под окном со страницей отчета также есть вкладки. До этого времени мы использовали вкладку Layout. А теперь перейдем на вкладку Master Page, при этом на вкладке Palette появятся дополнительные элементы. Для примера кинем элемент "Page n of m" (страница n из m) в нижний пунктирный прямоугольник отчета. По умолчанию появится сетка с тремя столбцами, занимающими всю ширину страницы.

В большинстве случаев вы захотите изменить размеры таблицы и ее отдельных столбцов (делается мышью обычным способом). Или настроить вид строки таблицы или каждой ячейки в отдельности. Для этого нужно мышкой выбрать нужный элемент и внизу, под окном отчета на вкладке Property Editor задать свойства элемента: шрифт, бордюр и прочее. Или по контекстному меню на элементе отчета создать свои стили. Но пока остановимся на этом, сохраним и закроем наш шаблон отчета.

вывод шаблона отчета

Ниже приведен код вывода нашего шаблона отчета в html формат.


import java.util.logging.Level;
import org.eclipse.birt.*
...

// различные переменные
EngineConfig config = new EngineConfig( );
IReportEngineFactory factory;
IReportEngine engine=null; 
IReportRunnable report=null;
IRunAndRenderTask task=null;
HTMLRenderOption options;

// путь, где проинсталлирован движок
config.setEngineHome( "F:/ReportEngine" );

try{			
   // создания объекта движка и настройка логов
config.setLogConfig("f:/",Level.FINE);					
Platform.startup( config );  
factory = (IReportEngineFactory) Platform
          .createFactoryObject
          (IReportEngineFactory.
           EXTENSION_REPORT_ENGINE_FACTORY );				
engine = factory.createReportEngine( config );
engine.changeLogLevel( Level.WARNING );		

//открываем отчет
report = engine.openReportDesign
           ( "./tstrep.rptdesign" );

// создаем задачу
task = engine.createRunAndRenderTask
           (report);

// установка и проверка параметров, если они есть
/*
task.setParameterValue("ParamName1", 
                       (new Integer(x0)));;
task.setParameterValue("ParamName2", 
                       (new Integer(x1)));
task.validateParameters();
*/

// настройка выходного формата отчета
options = new HTMLRenderOption();		
options.setOutputFileName("tstrep1.html");
options.setOutputFormat("html");
options.setEmbeddable(false);			
task.setRenderOption(options);

//запуск отчета
task.run();
task.close();	
}
catch(Exception e){
	e.printStackTrace();
}

// освобождение ресурсов
try	{
  engine.destroy();
  Platform.shutdown();    
}
catch (Exception e)	{
  e.printStackTrace();	
}

Рейтинг@Mail.ru