コード例 #1
0
  protected void newPage() {
    addRegions(xlsSheet, regions, wb);
    if (hasTemplate()) {
      xlsSheet = wb.getSheetAt(bean.getReportLayout().getTemplateSheet() - 1);
    } else {
      // for a group name inside sheet name when we create a page we do not have the group name yet
      // so we will have to set the name of the previous sheet (see also finishExport where we set
      // the name of the last sheet(s)
      String sheetName = replaceSheetNameParam(bean.getReportLayout().getSheetNames());
      if ((sheetName == null) || sheetName.isEmpty()) {
        sheetName = String.valueOf(page);
      }
      if (sheetNameContainsGroup(bean.getReportLayout().getSheetNames()) && (page > 1)) {
        // current group is for previous sheet page
        xlsSheet = wb.createSheet(String.valueOf(page));
        wb.setSheetName(page - 2, sheetName);
      } else {
        xlsSheet = wb.createSheet(sheetName);
      }
    }
    xlsSheet.setMargin(
        Sheet.LeftMargin, getInches(bean.getReportLayout().getPagePadding().getLeft()));
    xlsSheet.setMargin(
        Sheet.RightMargin, getInches(bean.getReportLayout().getPagePadding().getRight()));
    xlsSheet.setMargin(
        Sheet.TopMargin, getInches(bean.getReportLayout().getPagePadding().getTop()));
    xlsSheet.setMargin(
        Sheet.BottomMargin, getInches(bean.getReportLayout().getPagePadding().getBottom()));

    if (bean.getReportLayout().getOrientation() == LANDSCAPE) {
      xlsSheet.getPrintSetup().setLandscape(true);
    }

    setPaperSize();

    patriarch = xlsSheet.createDrawingPatriarch();
    buildHeader();
    buildFooter();
    page++;
    // first page header is written by ResultExporter
    if (bean.getReportLayout().isHeaderOnEveryPage() && (page > 2)) {
      try {
        printHeaderBand();
      } catch (QueryException e) {
        e.printStackTrace();
      }
    }
  }
コード例 #2
0
 private void setPaperSize() {
   String pageFormat = bean.getReportLayout().getPageFormat();
   short size = 0;
   if (ReportLayout.LETTER.equals(pageFormat)) {
     size = PrintSetup.LETTER_PAPERSIZE;
   } else if (ReportLayout.A3.equals(pageFormat)) {
     size = PrintSetup.A3_PAPERSIZE;
   } else if (ReportLayout.A4.equals(pageFormat)) {
     size = PrintSetup.A4_PAPERSIZE;
   } else if (ReportLayout.LEGAL.equals(pageFormat)) {
     size = PrintSetup.LEGAL_PAPERSIZE;
   } else if (ReportLayout.LEDGER.equals(pageFormat)) {
     size = PrintSetup.LEDGER_PAPERSIZE;
   } else if (ReportLayout.TABLOID.equals(pageFormat)) {
     size = PrintSetup.TABLOID_PAPERSIZE;
   }
   if (size != 0) {
     xlsSheet.getPrintSetup().setPaperSize(size);
   }
 }
コード例 #3
0
ファイル: SXSSFSheet.java プロジェクト: peke2/test_scala
 /**
  * Gets the print setup object.
  *
  * @return The user model for the print setup object.
  */
 public PrintSetup getPrintSetup() {
   return _sh.getPrintSetup();
 }