`
vwpolo
  • 浏览: 192977 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

5.2、使用BIRT API创建Grid

阅读更多

  在使用BIRT API前,得先配置一下BIRT的环境,也就是Birt -Runtime,使用是需要用到BIRT-runtime文件夹下的ReportEngine文件夹下的内容。

    如果都准备好了,那就开始吧

    先新建一个Java项目,比如JavaBirtExample,添加依赖的jar文件,因为BIRT基于OSGI的,所以org.eclipse.equinox.common这个文件是一定要的,如果要用到图表的话还需要emf对应的文件。

/**
 * 使用BIRT API创建BIRT Grid 。
 * @author 刘尧兴
 * <p>2009-2-18</p>
 */
public class CreateGridReport {

	public static final String BIRT_HOME = "D:/DeveloperTools/birt-runtime-2_3_1/ReportEngine";
	
	public static void createReport() throws Exception {
		DesignConfig designConfig = new DesignConfig();
		designConfig.setBIRTHome(BIRT_HOME);
		
		IDesignEngine designEngine = null;
		try {
			Platform.startup(designConfig);
			String extensionId = IDesignEngineFactory.EXTENSION_DESIGN_ENGINE_FACTORY;
			IDesignEngineFactory factory = (IDesignEngineFactory)Platform.createFactoryObject(extensionId);
			designEngine = factory.createDesignEngine(designConfig);
		}catch (Exception e) {
			e.printStackTrace();
		}
		
		SessionHandle sessionHandle = designEngine.newSessionHandle(ULocale.CHINESE);
		
		ReportDesignHandle designHandle = sessionHandle.createDesign();
		
		ElementFactory elementFactory = designHandle.getElementFactory();
		
		DesignElementHandle elementHandle = elementFactory.newSimpleMasterPage("Page Master");
		designHandle.getMasterPages().add(elementHandle);
		
		GridHandle gridHandle = elementFactory.newGridItem(null, 2, 1);
		gridHandle.setWidth("100%");
		designHandle.getBody().add(gridHandle);
		
		
		RowHandle rowHandle = (RowHandle)gridHandle.getRows().get(0);
		
		CellHandle cellHandle = (CellHandle)rowHandle.getCells().get(0);
		LabelHandle labelHandle = elementFactory.newLabel(null);
		labelHandle.setText("第一列,第一行");
		cellHandle.getContent().add(labelHandle);
		
		cellHandle = (CellHandle)rowHandle.getCells().get(1);
		labelHandle = elementFactory.newLabel("第二列,第一行");
		labelHandle.setText("第二列,第一行");
		cellHandle.getContent().add(labelHandle);
		
		SharedStyleHandle styleHandle = elementFactory.newStyle("MyStyle");
		styleHandle.getBorderTopWidth().setValue(1);
		styleHandle.getBorderBottomWidth().setValue(1);
		styleHandle.getBorderLeftWidth().setValue(1);
		styleHandle.getBorderRightWidth().setValue(1);
		styleHandle.setProperty(IStyleModel.BORDER_TOP_STYLE_PROP, DesignChoiceConstants.LINE_STYLE_GROOVE);
		styleHandle.setProperty(IStyleModel.BORDER_BOTTOM_STYLE_PROP, DesignChoiceConstants.LINE_STYLE_GROOVE);
		styleHandle.setProperty(IStyleModel.BORDER_LEFT_STYLE_PROP, DesignChoiceConstants.LINE_STYLE_GROOVE);
		styleHandle.setProperty(IStyleModel.BORDER_RIGHT_STYLE_PROP, DesignChoiceConstants.LINE_STYLE_GROOVE);
		designHandle.getStyles().add(styleHandle);
		
		for(int i = 0;i<gridHandle.getColumnCount();i++) {
			ColumnHandle colHandle = (ColumnHandle)gridHandle.getColumns().get(i);
			colHandle.setStyle(styleHandle);
		}
		
		File file = new File("c:/temp/GridReport.rptdesign");
		if(!file.exists()) 
			file.createNewFile();
		designHandle.saveAs(file.toString());
		designHandle.close();
		System.out.println("创建成功!");
	}
	
	public static void main(String[] args) {
		try {
			createReport();
		}catch (Exception e) {
			e.printStackTrace();
		}
	}
}

 

 

执行之后,会在c:/temp目录下面创建一个GridReport.rptdesign文件,预览一下结果为:



 

 

  • 大小: 17.7 KB
分享到:
评论

相关推荐

    birt api动态创建表格

    总的来说,`birt api动态创建表格`这个主题涵盖了使用BIRT API在Java环境中动态生成和展示数据表格的关键技术。通过深入理解这些文件和BIRT API,开发者可以构建灵活、可扩展的报表系统,满足企业对数据可视化的需求...

    birt API说明文档

    **BIRT(Business Intelligence and Reporting Tools)API 详解** ...通过深入理解和熟练使用BIRT API,你可以创建出满足各种需求的高质量报表。同时,不断更新的文档和社区支持使得学习和解决问题更加容易。

    birt api 实现动态列参数报表

    在BIRT API中,我们可以使用`IReportDesign`和`IDataSource`接口创建和操作数据集。通过`IQuery`接口,可以设置SQL查询,动态插入`columnNames`中的列。例如,使用Java代码可能如下: ```java IReportRunnable ...

    birt_api.CHM

    《BIRT 中文指南.pdf》是一本全面介绍BIRT的中文指南,涵盖了BIRT的安装、设计环境(BIRT Designer)的使用、报表的创建和发布、数据集和数据源的管理等方面。这本指南可能还包括了一些示例和实战教程,帮助初学者...

    Birt API Demo

    总结来说,"Birt API Demo"是一个展示如何使用BIRT API在Java环境中动态生成Excel和报表的示例。通过这个Demo,开发者可以学习到如何初始化ReportEngine、打开报表设计、设置参数、运行报表以及导出报表等一系列操作...

    birt API 动态创建交叉表

    在"dynamicxtab.rptdesign"这个文件中,很可能包含了用于演示或示例的BIRT报表设计,这个设计可能展示了如何使用BIRT API动态创建交叉表的代码和配置。通过打开并分析这个文件,我们可以更深入地理解上述知识点,并...

    birt 以及API使用详细读解

    学习和掌握BIRT API的使用,不仅可以让你创建出功能丰富的报表,还能帮助你将报表系统无缝地集成到现有的应用程序中,提高工作效率,提升用户体验。深入理解和实践BIRT的API,对于任何希望在业务智能领域有所建树的...

    birt api 以及新手入门文档

    通过阅读提供的`birt_api.CHM`和`23214513216.chm`文档,你可以详细了解到BIRT API的每个类和方法,以及具体的使用示例。这些文档是学习BIRT开发的重要参考资料,建议结合实际编码实践,逐步掌握BIRT的强大功能。 ...

    birt学习必备官方api

    6. **Chart API**:BIRT的图表组件提供了一套完整的API,用于创建各种类型的图表,并进行样式和行为的定制。 7. **Web Viewer API**:用于在Web应用程序中嵌入BIRT报表查看器。开发者可以利用此API控制报表的显示和...

    birt api生成报表

    主要根据BIRT API来动态生成报表的pdf,word等格式,导出到某一目录,希望对做birt报表的朋友有用。

    birt_api帮助文档.rar

    在“birt_api帮助文档”中,你可以找到关于如何使用BIRT API进行开发的详细信息。这个CHM文件(Compiled Help Manual)通常包含了API的详细参考,包括类、接口、方法和属性的描述,以及使用示例。 1. **BIRT API...

    birt _api和·birt_chart_api

    它们是BIRT官方提供的帮助文档,包含详细的API参考、示例代码和教程,可以帮助开发者快速理解和使用Birt API及Birt Chart API。 总的来说,掌握Birt API和Birt Chart API对于进行基于BIRT的项目开发至关重要。通过...

    birt api 帮助文档

    birt api 帮助文档。 对于使用birt开发报表的开发人员绝对有帮助。

    birt报表 API 实例 2.rar

    6. **实例分析**:压缩包中的"birt报表实例2"可能包含了一个或多个具体的代码示例,演示了如何使用BIRT API创建和运行报表。这些实例可能会覆盖从数据源创建、报表设计、数据填充到最终的报表渲染全过程。 通过学习...

    birt报表的官方API

    1. **Report Designer API**:这是BIRT的图形化报告设计界面所使用的API,允许开发者创建、编辑和管理报表模板。它提供了诸如添加数据源、创建数据集、插入图表和表格等操作的接口。 2. **Engine API**:在运行时,...

    birt api chm格式电子书

    birt api,特不喜欢在eclipse里的help里找,所以制作了这个chm格式电子书,和jdk一样,很方便使用。

    birt使用小结

    在提供的文档"Birt使用小结.doc"中,可能会包含关于如何使用BIRT API的具体示例,包括如何创建数据集、如何在报表中插入和操作数据、如何自定义样式和交互,以及如何优化性能等方面的内容。通过学习和实践这些内容,...

    BIRT文档(中、英)+API+各种使用小技巧报表实例

    本资源包包含BIRT的中文和英文文档,API参考以及各种使用小技巧报表实例,非常适合想要深入学习BIRT的人士。 **中文与英文文档**: - **中文文档**:对于初学者来说,中文文档能够帮助更好地理解BIRT的各个方面,...

    birt报表 API 实例 1.rar

    在本实例中,我们重点探讨如何利用BIRT报表API来创建和操作报表。 一、BIRT报表API概述 BIRT报表API是一个强大的开发接口,允许开发者通过编程方式与BIRT引擎交互,实现报表的生成、修改、运行等功能。API主要分为...

    birt中文api

    birt中文帮助文档.chm birt中文API.chm

Global site tag (gtag.js) - Google Analytics