You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ni...@apache.org on 2017/06/07 13:35:21 UTC

svn commit: r1797923 - in /poi/trunk/src: examples/src/org/apache/poi/xssf/usermodel/examples/ ooxml/java/org/apache/poi/xssf/usermodel/ ooxml/testcases/org/apache/poi/xssf/usermodel/

Author: nick
Date: Wed Jun  7 13:35:20 2017
New Revision: 1797923

URL: http://svn.apache.org/viewvc?rev=1797923&view=rev
Log:
Update the CreateTable example to reduce the use of the raw CT classes

Modified:
    poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/CreateTable.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFTable.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFTable.java

Modified: poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/CreateTable.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/CreateTable.java?rev=1797923&r1=1797922&r2=1797923&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/CreateTable.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/CreateTable.java Wed Jun  7 13:35:20 2017
@@ -26,11 +26,8 @@ import org.apache.poi.xssf.usermodel.XSS
 import org.apache.poi.xssf.usermodel.XSSFRow;
 import org.apache.poi.xssf.usermodel.XSSFSheet;
 import org.apache.poi.xssf.usermodel.XSSFTable;
+import org.apache.poi.xssf.usermodel.XSSFTableStyleInfo;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTTable;
-import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTTableColumn;
-import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTTableColumns;
-import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTTableStyleInfo;
 
 /**
  * Demonstrates how to create a simple table using Apache POI.
@@ -42,48 +39,52 @@ public class CreateTable {
         Workbook wb = new XSSFWorkbook();
         XSSFSheet sheet = (XSSFSheet) wb.createSheet();
         
-        //Create 
+        // Create 
         XSSFTable table = sheet.createTable();
-        table.setDisplayName("Test");       
-        CTTable cttable = table.getCTTable();
+        table.setName("Test");
+        table.setDisplayName("Test_Table");
         
-        //Style configurations
-        CTTableStyleInfo style = cttable.addNewTableStyleInfo();
+        // For now, create the initial style in a low-level way
+        table.getCTTable().addNewTableStyleInfo();
+        table.getCTTable().getTableStyleInfo().setName("TableStyleMedium2");
+        
+        // Style the table
+        XSSFTableStyleInfo style = (XSSFTableStyleInfo)table.getStyle();
         style.setName("TableStyleMedium2");
         style.setShowColumnStripes(false);
         style.setShowRowStripes(true);
+        style.setFirstColumn(false);
+        style.setLastColumn(false);
+        style.setShowRowStripes(true);
+        style.setShowColumnStripes(true);
         
-        //Set which area the table should be placed in
-        AreaReference reference = new AreaReference(new CellReference(0, 0), 
-                new CellReference(2,2));
-        cttable.setRef(reference.formatAsString());
-        cttable.setId(1);
-        cttable.setName("Test");
-        cttable.setTotalsRowCount(1);
-        
-        CTTableColumns columns = cttable.addNewTableColumns();
-        columns.setCount(3);
-        CTTableColumn column;
+        // Set the values for the table
         XSSFRow row;
         XSSFCell cell;
         for(int i=0; i<3; i++) {
-            //Create column
-            column = columns.addNewTableColumn();
-            column.setName("Column");
-            column.setId(i+1);
-            //Create row
+            // Create row
             row = sheet.createRow(i);
             for(int j=0; j<3; j++) {
-                //Create cell
+                // Create cell
                 cell = row.createCell(j);
                 if(i == 0) {
-                    cell.setCellValue("Column"+j);
+                    cell.setCellValue("Column"+(j+1));
                 } else {
-                    cell.setCellValue("0");
+                    cell.setCellValue((i+1)*(j+1));
                 }
             }
         }
+        // Create the columns
+        table.addColumn();
+        table.addColumn();
+        table.addColumn();
         
+        // Set which area the table should be placed in
+        AreaReference reference = new AreaReference(new CellReference(0, 0), 
+                new CellReference(2,2));
+        table.setCellReferences(reference);
+
+        // Save
         FileOutputStream fileOut = new FileOutputStream("ooxml-table.xlsx");
         wb.write(fileOut);
         fileOut.close();

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java?rev=1797923&r1=1797922&r2=1797923&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java Wed Jun  7 13:35:20 2017
@@ -3975,6 +3975,7 @@ public class XSSFSheet extends POIXMLDoc
        RelationPart rp = createRelationship(XSSFRelation.TABLE, XSSFFactory.getInstance(), tableNumber, false);
        XSSFTable table = rp.getDocumentPart();
        tbl.setId(rp.getRelationship().getId());
+       table.getCTTable().setId(tableNumber);
 
        tables.put(tbl.getId(), table);
 

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFTable.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFTable.java?rev=1797923&r1=1797922&r2=1797923&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFTable.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFTable.java Wed Jun  7 13:35:20 2017
@@ -343,6 +343,8 @@ public class XSSFTable extends POIXMLDoc
      * Does not track updates to underlying changes to CTTable
      * To synchronize with changes to the underlying CTTable,
      * call {@link #updateReferences()}.
+     * 
+     * @since 3.17 beta 1
      */
     public AreaReference getCellReferences() {
         return new AreaReference(
@@ -354,6 +356,8 @@ public class XSSFTable extends POIXMLDoc
      * Updates the reference for the cells of the table
      * (see Open Office XML Part 4: chapter 3.5.1.2, attribute ref)
      * and synchronizes any changes
+     * 
+     * @since 3.17 beta 1
      */
     public void setCellReferences(AreaReference refs) {
         // Strip the Sheet name

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFTable.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFTable.java?rev=1797923&r1=1797922&r2=1797923&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFTable.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFTable.java Wed Jun  7 13:35:20 2017
@@ -346,7 +346,7 @@ public final class TestXSSFTable {
         // Setting up the CTTable
         XSSFTable t = s.createTable();
         t.setName("TableTest");
-        t.setDisplayName("CT Table Test");
+        t.setDisplayName("CT_Table_Test");
         t.addColumn();
         t.addColumn();
         t.addColumn();



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org