当前位置: 代码迷 >> 报表 >> FineReport三个典型报表图代码全分享!(一)解决方法
  详细解决方案

FineReport三个典型报表图代码全分享!(一)解决方法

热度:264   发布时间:2016-05-05 08:10:47.0
FineReport三个典型报表图代码全分享!!(一)
该文章分为三份 因为内容比较多 怕这边一次性传不了 所以一集集分享 另外附件为相关ListReport附件 注意查收
报表一:ListReport


以下代码均纯Java编写

package ms;

import java.io.File;

import com.fr.base.Constants;
import com.fr.base.FRContext;
import com.fr.base.dav.LocalEnv;
import com.fr.demo.ArrayTableDataDemo;
import com.fr.report.CellElement;
import com.fr.report.Report;
import com.fr.report.WorkBook;
import com.fr.report.WorkSheet;
import com.fr.report.cellElement.CellExpandAttr;
import com.fr.report.cellElement.TableDataColumn;
import com.fr.report.cellElement.core.DSColumn;
import com.fr.report.cellElement.core.FunctionGrouper;
import com.fr.report.io.TemplateImporter;
import com.fr.web.Reportlet;
import com.fr.web.ReportletException;
import com.fr.web.ReportletRequest;

public class ListReportlet implements Reportlet{


public Report createReport(ReportletRequest req) throws ReportletException {

  WorkBook workBook = null;  

  try {  
  File cptFile = new File("D:\\listreport.cpt");  
  TemplateImporter templateImporter = new TemplateImporter(cptFile);  
  workBook = (WorkBook)templateImporter.generateReport();  
  // 定义程序数据集  
  String[] columnNames = {"月份", "产品", "销售额"};  
  Object[][] rowData = {  
  {"五月", "手机", new Integer(500)},  
  {"五月", "相机", new Integer(600)},  
  {"五月", "手表", new Integer(800)},  
  {"六月", "手机", new Integer(300)},  
  {"六月", "相机", new Integer(100)}  
  };  
  ArrayTableDataDemo tableData = new ArrayTableDataDemo(columnNames, rowData);  
   
  WorkSheet workSheet = (WorkSheet)workBook.getReport(0);
   
  // 将数据集添加到workSheet中, Employee为表名  
  workSheet.putTableData("Employee", tableData);  
   
  // 把月份数据列放在单元格A2
  DSColumn dsColumn = new DSColumn();  
  dsColumn.setDSName("Employee");  
  dsColumn.setGrouper(new FunctionGrouper());  
  
  dsColumn.setColumn(TableDataColumn.createColumn("月份"));  
  CellElement cellElement = workSheet.getCellElement(0, 1);  
  cellElement.setValue(dsColumn);
   
   
  // 把产品填入到B2 
  dsColumn = new DSColumn();  
  dsColumn.setDSName("Employee");  
  dsColumn.setGrouper(new FunctionGrouper());  
  
  dsColumn.setColumn(TableDataColumn.createColumn("产品"));  
  cellElement = workSheet.getCellElement(1, 1);  
  cellElement.setValue(dsColumn);
   
  // 把销售额填入到c2
   
  // 把产品填入到B2 
  dsColumn = new DSColumn();  
  dsColumn.setDSName("Employee");  
  dsColumn.setGrouper(new FunctionGrouper());  
  
  dsColumn.setColumn(TableDataColumn.createColumn("销售额"));  
  相关解决方案