百灵报表(BIRT)接口学习:使用Data Extraction Task导出数据
2008-06-10 16:54
609 查看
创建一个Report
创建一个Data Source
Classic Models Inc. SampleDB Driver
创建一个Data Set
select CLASSICMODELS.CUSTOMERS.CUSTOMERNUMBER,
CLASSICMODELS.CUSTOMERS.CUSTOMERNAME,
CLASSICMODELS.CUSTOMERS.COUNTRY
from CLASSICMODELS.CUSTOMERS
创建一个Table
生成 document
……
IReportDocument reportDocument = engine.openReportDocument( “d:/sample.rptdocument” );
IDataExtractionTask dataExtractionTask = engine.createDataExtractionTask( reportDocument );
List list = dataExtractionTask.getResultSetList( );
// choose the 1st result set as an example
IResultSetItem resultSetItem = (IResultSetItem) list.get( 0 );
String resultSetName = resultSetItem.getResultSetName( );
dataExtractionTask.selectResultSet( resultSetName );
IResultMetaData resultMetaData = resultSetItem.getResultMetaData( );
String[] columnNames = new String[resultMetaData.getColumnCount( )];
for ( int j = 0; j < resultMetaData.getColumnCount( ); j++ )
columnNames[j] = resultMetaData.getColumnName( j );
dataExtractionTask.selectColumns( columnNames );
Locale locale = new Locale( "en_us" );
dataExtractionTask.setLocale( locale );
// apply a simple filter
ConditionalExpression expression = new ConditionalExpression(
"row[/"COUNTRY/"]",
IConditionalExpression.OP_EQ,
"/"Australia/"" );
IFilterDefinition filterDefinition = new FilterDefinition( expression );
dataExtractionTask.setFilters( new IFilterDefinition[]{filterDefinition} );
// apply a simple sort
SortDefinition sortDefinition = new SortDefinition( );
sortDefinition.setExpression( "row[/"CUSTOMERNUMBER/"]" );
sortDefinition.setSortDirection( ISortDefinition.SORT_DESC );
dataExtractionTask.setSorts( new ISortDefinition[]{sortDefinition} );
IExtractionResults extractionResults = dataExtractionTask.extract( );
IDataIterator dataIterator = extractionResults.nextResultIterator( );
StringBuffer stringBuffer = new StringBuffer( );
for ( int j = 0; j < columnNames.length; j++ )
{
stringBuffer.append( columnNames[j] );
if ( j < columnNames.length - 1 )
stringBuffer.append( "|" );
}
stringBuffer.append( "/n" );
while ( dataIterator.next( ) )
{
for ( int j = 0; j < columnNames.length; j++ )
{
Object object = dataIterator.getValue( j );
if ( object != null )
{
stringBuffer.append( object.toString( ) );
if ( j < columnNames.length - 1 )
stringBuffer.append( "|" );
}
}
stringBuffer.append( "/n" );
}
System.out.println( stringBuffer );
……
应该可以得到这样的输出:
CUSTOMERNUMBER|CUSTOMERNAME|COUNTRY
471|Australian Collectables, Ltd|Australia
333|Australian Gift Network, Co|Australia
282|Souveniers And Things Co.|Australia
276|Anna's Decorations, Ltd|Australia
114|Australian Collectors, Co.|Australia
创建一个Data Source
Classic Models Inc. SampleDB Driver
创建一个Data Set
select CLASSICMODELS.CUSTOMERS.CUSTOMERNUMBER,
CLASSICMODELS.CUSTOMERS.CUSTOMERNAME,
CLASSICMODELS.CUSTOMERS.COUNTRY
from CLASSICMODELS.CUSTOMERS
创建一个Table
生成 document
……
IReportDocument reportDocument = engine.openReportDocument( “d:/sample.rptdocument” );
IDataExtractionTask dataExtractionTask = engine.createDataExtractionTask( reportDocument );
List list = dataExtractionTask.getResultSetList( );
// choose the 1st result set as an example
IResultSetItem resultSetItem = (IResultSetItem) list.get( 0 );
String resultSetName = resultSetItem.getResultSetName( );
dataExtractionTask.selectResultSet( resultSetName );
IResultMetaData resultMetaData = resultSetItem.getResultMetaData( );
String[] columnNames = new String[resultMetaData.getColumnCount( )];
for ( int j = 0; j < resultMetaData.getColumnCount( ); j++ )
columnNames[j] = resultMetaData.getColumnName( j );
dataExtractionTask.selectColumns( columnNames );
Locale locale = new Locale( "en_us" );
dataExtractionTask.setLocale( locale );
// apply a simple filter
ConditionalExpression expression = new ConditionalExpression(
"row[/"COUNTRY/"]",
IConditionalExpression.OP_EQ,
"/"Australia/"" );
IFilterDefinition filterDefinition = new FilterDefinition( expression );
dataExtractionTask.setFilters( new IFilterDefinition[]{filterDefinition} );
// apply a simple sort
SortDefinition sortDefinition = new SortDefinition( );
sortDefinition.setExpression( "row[/"CUSTOMERNUMBER/"]" );
sortDefinition.setSortDirection( ISortDefinition.SORT_DESC );
dataExtractionTask.setSorts( new ISortDefinition[]{sortDefinition} );
IExtractionResults extractionResults = dataExtractionTask.extract( );
IDataIterator dataIterator = extractionResults.nextResultIterator( );
StringBuffer stringBuffer = new StringBuffer( );
for ( int j = 0; j < columnNames.length; j++ )
{
stringBuffer.append( columnNames[j] );
if ( j < columnNames.length - 1 )
stringBuffer.append( "|" );
}
stringBuffer.append( "/n" );
while ( dataIterator.next( ) )
{
for ( int j = 0; j < columnNames.length; j++ )
{
Object object = dataIterator.getValue( j );
if ( object != null )
{
stringBuffer.append( object.toString( ) );
if ( j < columnNames.length - 1 )
stringBuffer.append( "|" );
}
}
stringBuffer.append( "/n" );
}
System.out.println( stringBuffer );
……
应该可以得到这样的输出:
CUSTOMERNUMBER|CUSTOMERNAME|COUNTRY
471|Australian Collectables, Ltd|Australia
333|Australian Gift Network, Co|Australia
282|Souveniers And Things Co.|Australia
276|Anna's Decorations, Ltd|Australia
114|Australian Collectors, Co.|Australia
相关文章推荐
- 百灵报表(BIRT)接口学习:设计report design
- 百灵报表(BIRT)接口学习:执行Cube Query
- SilverLight学习笔记--Silverlight中INotifyPropertyChanged 接口在数据绑定中的使用
- 使用聚合数据的接口进行的RxAndroid学习
- 使用接口适配模式做报表导出
- caffe的python接口学习(9):Caffe在Python中使用内存数据(MemoryData)进行训练
- 【推荐】.NET(webform,MVC)使用NPOI组件将数据导出、导入Excel。 Aspose.Cell 控件报表
- Oracle Data Pump 工具系列:使用 %U 和 filesize 参数将大数据拆分成小文件导出
- 【Android学习】使用聚合数据的接口进行的RxAndroid学习
- Java使用POI实现数据导出excel报表
- Comprehensive learning path – Data Science in Python深入学习路径-使用python数据中学习
- salesforce 零基础学习(二十三)数据记录导出至excel(自定义报表导出)
- 大数据技术学习笔记之hive框架基础2-hive中常用DML和UDF和连接接口使用
- (JAVA SE 学习笔记)Java.SE.第003讲.原生数据类型使用陷阱.Pitfall.of.Primitive.Data.Type
- Java使用POI实现数据导出excel报表
- 学习使用superset-大数据报表分析平台
- SilverLight 学习笔记--Silverlight中INotifyPropertyChanged 接口在数据绑定中的使用
- 使用 Oracle Datapump API 实现数据导出
- HBase 学习之一 <<HBase使用客户端API动态创建Hbase数据表并在Hbase下导出执行>>
- 学习使用ADO.NET Data Services (ADO.NET 数据服务框架) - Part 1