From: Sergey Vladimirov Date: Fri, 2 Sep 2011 10:53:30 +0000 (+0000) Subject: extract processSheet() method to use with single-sheet processing X-Git-Tag: REL_3_8_BETA5~196 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=a3d81664215c8c1fd3f286eb13be7e05915db481;p=poi.git extract processSheet() method to use with single-sheet processing git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1164470 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/src/scratchpad/src/org/apache/poi/hssf/converter/ExcelToFoConverter.java b/src/scratchpad/src/org/apache/poi/hssf/converter/ExcelToFoConverter.java index 3cf07c56aa..dd0b826ec8 100644 --- a/src/scratchpad/src/org/apache/poi/hssf/converter/ExcelToFoConverter.java +++ b/src/scratchpad/src/org/apache/poi/hssf/converter/ExcelToFoConverter.java @@ -716,6 +716,32 @@ public class ExcelToFoConverter extends AbstractExcelConverter return tableWidthIn; } + /** + * Process single sheet (as specified by 0-based sheet index) + * + * @return true if result were added to FO document, false + * otherwise + */ + protected boolean processSheet( HSSFWorkbook workbook, int sheetIndex ) + { + String pageMasterName = "sheet-" + sheetIndex; + + Element pageSequence = foDocumentFacade + .createPageSequence( pageMasterName ); + Element flow = foDocumentFacade.addFlowToPageSequence( pageSequence, + "xsl-region-body" ); + + HSSFSheet sheet = workbook.getSheetAt( sheetIndex ); + float tableWidthIn = processSheet( workbook, sheet, flow ); + + if ( tableWidthIn == 0 ) + return false; + + createPageMaster( tableWidthIn, pageMasterName ); + foDocumentFacade.addPageSequence( pageSequence ); + return true; + } + protected void processSheetName( HSSFSheet sheet, Element flow ) { Element titleBlock = foDocumentFacade.createBlock(); @@ -752,21 +778,7 @@ public class ExcelToFoConverter extends AbstractExcelConverter for ( int s = 0; s < workbook.getNumberOfSheets(); s++ ) { - String pageMasterName = "sheet-" + s; - - Element pageSequence = foDocumentFacade - .createPageSequence( pageMasterName ); - Element flow = foDocumentFacade.addFlowToPageSequence( - pageSequence, "xsl-region-body" ); - - HSSFSheet sheet = workbook.getSheetAt( s ); - float tableWidthIn = processSheet( workbook, sheet, flow ); - - if ( tableWidthIn != 0 ) - { - createPageMaster( tableWidthIn, pageMasterName ); - foDocumentFacade.addPageSequence( pageSequence ); - } + processSheet( workbook, s ); } }