]> source.dussan.org Git - poi.git/commitdiff
extract processSheet() method to use with single-sheet processing
authorSergey Vladimirov <sergey@apache.org>
Fri, 2 Sep 2011 10:53:30 +0000 (10:53 +0000)
committerSergey Vladimirov <sergey@apache.org>
Fri, 2 Sep 2011 10:53:30 +0000 (10:53 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1164470 13f79535-47bb-0310-9956-ffa450edef68

src/scratchpad/src/org/apache/poi/hssf/converter/ExcelToFoConverter.java

index 3cf07c56aabf05a46a961c569fca645e228f432f..dd0b826ec8ad0fecd9459d0e427cc988e107520b 100644 (file)
@@ -716,6 +716,32 @@ public class ExcelToFoConverter extends AbstractExcelConverter
         return tableWidthIn;
     }
 
+    /**
+     * Process single sheet (as specified by 0-based sheet index)
+     * 
+     * @return <tt>true</tt> if result were added to FO document, <tt>false</tt>
+     *         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 );
         }
     }