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