ColumnHelper get/setColDefaultStyle; XSSFSheet setDefaultColumnStyle; XSSFCellStyle constructor refactored abd getIndex method implemented; StyesTable get/setCellXf and get/setCellStyleXf. + tests
git-svn-id: https://svn.apache.org/repos/asf/poi/branches/ooxml@646668 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
e545961728
commit
32401dd168
@ -16,6 +16,8 @@
|
|||||||
==================================================================== */
|
==================================================================== */
|
||||||
package org.apache.poi.ss.usermodel;
|
package org.apache.poi.ss.usermodel;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public interface StylesSource {
|
public interface StylesSource {
|
||||||
public String getNumberFormatAt(long idx);
|
public String getNumberFormatAt(long idx);
|
||||||
public long putNumberFormat(String fmt);
|
public long putNumberFormat(String fmt);
|
||||||
|
@ -168,15 +168,14 @@ public class StylesTable implements StylesSource, XSSFModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public CellStyle getStyleAt(long idx) {
|
public CellStyle getStyleAt(long idx) {
|
||||||
CTXf mainXf = xfs.get((int)idx);
|
int styleXfId = 0;
|
||||||
CTXf styleXf = null;
|
|
||||||
|
|
||||||
// 0 is the empty default
|
// 0 is the empty default
|
||||||
if(mainXf.getXfId() > 0) {
|
if(xfs.get((int) idx).getXfId() > 0) {
|
||||||
styleXf = styleXfs.get((int)mainXf.getXfId());
|
styleXfId = (int) xfs.get((int) idx).getXfId();
|
||||||
}
|
}
|
||||||
|
|
||||||
return new XSSFCellStyle(mainXf, styleXf, this);
|
return new XSSFCellStyle((int) idx, styleXfId, this);
|
||||||
}
|
}
|
||||||
public synchronized long putStyle(CellStyle style) {
|
public synchronized long putStyle(CellStyle style) {
|
||||||
XSSFCellStyle xStyle = (XSSFCellStyle)style;
|
XSSFCellStyle xStyle = (XSSFCellStyle)style;
|
||||||
@ -201,6 +200,22 @@ public class StylesTable implements StylesSource, XSSFModel {
|
|||||||
public long putFill(XSSFCellFill fill) {
|
public long putFill(XSSFCellFill fill) {
|
||||||
return putFill(fill, fills);
|
return putFill(fill, fills);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public CTXf getCellXfAt(long idx) {
|
||||||
|
return xfs.get((int) idx);
|
||||||
|
}
|
||||||
|
public long putCellXf(CTXf cellXf) {
|
||||||
|
xfs.add(cellXf);
|
||||||
|
return xfs.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
public CTXf getCellStyleXfAt(long idx) {
|
||||||
|
return styleXfs.get((int) idx);
|
||||||
|
}
|
||||||
|
public long putCellStyleXf(CTXf cellStyleXf) {
|
||||||
|
styleXfs.add(cellStyleXf);
|
||||||
|
return styleXfs.size();
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* For unit testing only
|
* For unit testing only
|
||||||
*/
|
*/
|
||||||
|
@ -36,6 +36,8 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.STVerticalAlignment;
|
|||||||
|
|
||||||
|
|
||||||
public class XSSFCellStyle implements CellStyle {
|
public class XSSFCellStyle implements CellStyle {
|
||||||
|
private int cellXfId;
|
||||||
|
private int cellStyleXfId;
|
||||||
private StylesSource stylesSource;
|
private StylesSource stylesSource;
|
||||||
private CTXf cellXf;
|
private CTXf cellXf;
|
||||||
private CTXf cellStyleXf;
|
private CTXf cellStyleXf;
|
||||||
@ -50,10 +52,12 @@ public class XSSFCellStyle implements CellStyle {
|
|||||||
* @param cellStyleXf Optional, style xf
|
* @param cellStyleXf Optional, style xf
|
||||||
* @param stylesSource Styles Source to work off
|
* @param stylesSource Styles Source to work off
|
||||||
*/
|
*/
|
||||||
public XSSFCellStyle(CTXf cellXf, CTXf cellStyleXf, StylesSource stylesSource) {
|
public XSSFCellStyle(int cellXfId, int cellStyleXfId, StylesTable stylesSource) {
|
||||||
|
this.cellXfId = cellXfId;
|
||||||
|
this.cellStyleXfId = cellStyleXfId;
|
||||||
this.stylesSource = stylesSource;
|
this.stylesSource = stylesSource;
|
||||||
this.cellXf = cellXf;
|
this.cellXf = stylesSource.getCellXfAt(this.cellXfId);
|
||||||
this.cellStyleXf = cellStyleXf;
|
this.cellStyleXf = stylesSource.getCellStyleXfAt(this.cellStyleXfId);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -168,8 +172,7 @@ public class XSSFCellStyle implements CellStyle {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public short getIndex() {
|
public short getIndex() {
|
||||||
// TODO Auto-generated method stub
|
return (short) this.cellXfId;
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public short getLeftBorderColor() {
|
public short getLeftBorderColor() {
|
||||||
|
@ -313,7 +313,7 @@ public class XSSFSheet implements Sheet {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public short getColumnWidth(short column) {
|
public short getColumnWidth(short column) {
|
||||||
return (short) columnHelper.getColumn(column).getWidth();
|
return (short) columnHelper.getColumn(column, false).getWidth();
|
||||||
}
|
}
|
||||||
|
|
||||||
public short getDefaultColumnWidth() {
|
public short getDefaultColumnWidth() {
|
||||||
@ -592,7 +592,7 @@ public class XSSFSheet implements Sheet {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean isColumnHidden(short column) {
|
public boolean isColumnHidden(short column) {
|
||||||
return columnHelper.getColumn(column).getHidden();
|
return columnHelper.getColumn(column, false).getHidden();
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isDisplayFormulas() {
|
public boolean isDisplayFormulas() {
|
||||||
@ -724,8 +724,7 @@ public class XSSFSheet implements Sheet {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void setDefaultColumnStyle(short column, CellStyle style) {
|
public void setDefaultColumnStyle(short column, CellStyle style) {
|
||||||
// TODO Auto-generated method stub
|
columnHelper.setColDefaultStyle(column, style);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDefaultColumnWidth(short width) {
|
public void setDefaultColumnWidth(short width) {
|
||||||
|
@ -19,6 +19,7 @@ package org.apache.poi.xssf.usermodel.helpers;
|
|||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
import org.apache.poi.ss.usermodel.CellStyle;
|
||||||
import org.apache.poi.xssf.util.CTColComparator;
|
import org.apache.poi.xssf.util.CTColComparator;
|
||||||
import org.apache.poi.xssf.util.NumericRanges;
|
import org.apache.poi.xssf.util.NumericRanges;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCol;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCol;
|
||||||
@ -69,10 +70,22 @@ public class ColumnHelper {
|
|||||||
return newCol;
|
return newCol;
|
||||||
}
|
}
|
||||||
|
|
||||||
public CTCol getColumn(long index) {
|
public CTCol getColumn(long index, boolean splitColumns) {
|
||||||
for (int i = 0; i < worksheet.getColsArray(0).sizeOfColArray(); i++) {
|
CTCols colsArray = worksheet.getColsArray(0);
|
||||||
if (worksheet.getColsArray(0).getColArray(i).getMin() == index) {
|
for (int i = 0; i < colsArray.sizeOfColArray(); i++) {
|
||||||
return worksheet.getColsArray(0).getColArray(i);
|
CTCol colArray = colsArray.getColArray(i);
|
||||||
|
if (colArray.getMin() <= index && colArray.getMax() >= index) {
|
||||||
|
if (splitColumns) {
|
||||||
|
if (colArray.getMin() < index) {
|
||||||
|
insertCol(colsArray, colArray.getMin(), (index - 1), new CTCol[]{colArray});
|
||||||
|
}
|
||||||
|
if (colArray.getMax() > index) {
|
||||||
|
insertCol(colsArray, (index + 1), colArray.getMax(), new CTCol[]{colArray});
|
||||||
|
}
|
||||||
|
colArray.setMin(index);
|
||||||
|
colArray.setMax(index);
|
||||||
|
}
|
||||||
|
return colArray;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
@ -169,34 +182,29 @@ public class ColumnHelper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void setColumnAttributes(CTCol fromCol, CTCol toCol) {
|
public void setColumnAttributes(CTCol fromCol, CTCol toCol) {
|
||||||
if (fromCol.getWidth() != 0) {
|
toCol.setWidth(fromCol.getWidth());
|
||||||
toCol.setWidth(fromCol.getWidth());
|
toCol.setHidden(fromCol.getHidden());
|
||||||
}
|
toCol.setBestFit(fromCol.getBestFit());
|
||||||
if (fromCol.getHidden()) {
|
toCol.setStyle(fromCol.getStyle());
|
||||||
toCol.setHidden(true);
|
|
||||||
}
|
|
||||||
if (fromCol.getBestFit()) {
|
|
||||||
toCol.setBestFit(true);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setColBestFit(long index, boolean bestFit) {
|
public void setColBestFit(long index, boolean bestFit) {
|
||||||
CTCol col = getOrCreateColumn(index);
|
CTCol col = getOrCreateColumn(index, false);
|
||||||
col.setBestFit(bestFit);
|
col.setBestFit(bestFit);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setColWidth(long index, double width) {
|
public void setColWidth(long index, double width) {
|
||||||
CTCol col = getOrCreateColumn(index);
|
CTCol col = getOrCreateColumn(index, false);
|
||||||
col.setWidth(width);
|
col.setWidth(width);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setColHidden(long index, boolean hidden) {
|
public void setColHidden(long index, boolean hidden) {
|
||||||
CTCol col = getOrCreateColumn(index);
|
CTCol col = getOrCreateColumn(index, false);
|
||||||
col.setHidden(hidden);
|
col.setHidden(hidden);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected CTCol getOrCreateColumn(long index) {
|
protected CTCol getOrCreateColumn(long index, boolean splitColumns) {
|
||||||
CTCol col = getColumn(index);
|
CTCol col = getColumn(index, splitColumns);
|
||||||
if (col == null) {
|
if (col == null) {
|
||||||
col = worksheet.getColsArray(0).addNewCol();
|
col = worksheet.getColsArray(0).addNewCol();
|
||||||
col.setMin(index);
|
col.setMin(index);
|
||||||
@ -205,4 +213,21 @@ public class ColumnHelper {
|
|||||||
return col;
|
return col;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setColDefaultStyle(long index, CellStyle style) {
|
||||||
|
setColDefaultStyle(index, style.getIndex());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setColDefaultStyle(long index, int styleId) {
|
||||||
|
CTCol col = getOrCreateColumn(index, true);
|
||||||
|
col.setStyle(styleId);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Returns -1 if no column is found for the given index
|
||||||
|
public int getColDefaultStyle(long index) {
|
||||||
|
if (getColumn(index, false) != null) {
|
||||||
|
return (int) getColumn(index, false).getStyle();
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -20,9 +20,11 @@ package org.apache.poi.xssf.model;
|
|||||||
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayInputStream;
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
|
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
|
||||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||||
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTXf;
|
||||||
|
|
||||||
import junit.framework.TestCase;
|
import junit.framework.TestCase;
|
||||||
|
|
||||||
|
@ -81,7 +81,9 @@ public class TestXSSFCellStyle extends TestCase {
|
|||||||
cellXfs = ctStylesheet.addNewCellXfs();
|
cellXfs = ctStylesheet.addNewCellXfs();
|
||||||
cellXf = cellXfs.addNewXf();
|
cellXf = cellXfs.addNewXf();
|
||||||
cellXf.setXfId(1);
|
cellXf.setXfId(1);
|
||||||
cellStyle = new XSSFCellStyle(cellXf, cellStyleXf, stylesTable);
|
stylesTable.putCellStyleXf(cellStyleXf);
|
||||||
|
stylesTable.putCellXf(cellXf);
|
||||||
|
cellStyle = new XSSFCellStyle(1, 1, stylesTable);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testGetSetBorderBottom() {
|
public void testGetSetBorderBottom() {
|
||||||
|
@ -25,12 +25,15 @@ import org.apache.poi.ss.usermodel.Sheet;
|
|||||||
import org.apache.poi.ss.usermodel.Workbook;
|
import org.apache.poi.ss.usermodel.Workbook;
|
||||||
import org.apache.poi.ss.util.Region;
|
import org.apache.poi.ss.util.Region;
|
||||||
import org.apache.poi.xssf.model.CommentsTable;
|
import org.apache.poi.xssf.model.CommentsTable;
|
||||||
|
import org.apache.poi.xssf.model.StylesTable;
|
||||||
import org.apache.poi.xssf.usermodel.helpers.ColumnHelper;
|
import org.apache.poi.xssf.usermodel.helpers.ColumnHelper;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCol;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCol;
|
||||||
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCols;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTComment;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTComment;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTComments;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTComments;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheet;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheet;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheet;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheet;
|
||||||
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTXf;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.STPane;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.STPane;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.STPaneState;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.STPaneState;
|
||||||
|
|
||||||
@ -338,10 +341,10 @@ public class TestXSSFSheet extends TestCase {
|
|||||||
XSSFWorkbook workbook = new XSSFWorkbook();
|
XSSFWorkbook workbook = new XSSFWorkbook();
|
||||||
XSSFSheet sheet = (XSSFSheet) workbook.createSheet("Sheet 1");
|
XSSFSheet sheet = (XSSFSheet) workbook.createSheet("Sheet 1");
|
||||||
ColumnHelper columnHelper = sheet.getColumnHelper();
|
ColumnHelper columnHelper = sheet.getColumnHelper();
|
||||||
CTCol col = columnHelper.getColumn(13);
|
CTCol col = columnHelper.getColumn(13, false);
|
||||||
assertNull(col);
|
assertNull(col);
|
||||||
sheet.autoSizeColumn((short)13);
|
sheet.autoSizeColumn((short)13);
|
||||||
col = columnHelper.getColumn(13);
|
col = columnHelper.getColumn(13, false);
|
||||||
assertNotNull(col);
|
assertNotNull(col);
|
||||||
assertTrue(col.getBestFit());
|
assertTrue(col.getBestFit());
|
||||||
}
|
}
|
||||||
@ -591,6 +594,35 @@ public class TestXSSFSheet extends TestCase {
|
|||||||
assertEquals(0, sheet.getNumMergedRegions());
|
assertEquals(0, sheet.getNumMergedRegions());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testSetDefaultColumnStyle() {
|
||||||
|
XSSFWorkbook workbook = new XSSFWorkbook();
|
||||||
|
CTSheet ctSheet = CTSheet.Factory.newInstance();
|
||||||
|
CTWorksheet ctWorksheet = CTWorksheet.Factory.newInstance();
|
||||||
|
XSSFSheet sheet = new XSSFSheet(ctSheet, ctWorksheet, (XSSFWorkbook) workbook);
|
||||||
|
StylesTable stylesTable = (StylesTable) workbook.getStylesSource();
|
||||||
|
XSSFFont font = new XSSFFont();
|
||||||
|
font.setFontName("Cambria");
|
||||||
|
stylesTable.putFont(font);
|
||||||
|
CTXf cellStyleXf = CTXf.Factory.newInstance();
|
||||||
|
cellStyleXf.setFontId(1);
|
||||||
|
cellStyleXf.setFillId(0);
|
||||||
|
cellStyleXf.setBorderId(0);
|
||||||
|
cellStyleXf.setNumFmtId(0);
|
||||||
|
stylesTable.putCellStyleXf(cellStyleXf);
|
||||||
|
CTXf cellXf = CTXf.Factory.newInstance();
|
||||||
|
cellXf.setXfId(1);
|
||||||
|
stylesTable.putCellXf(cellXf);
|
||||||
|
XSSFCellStyle cellStyle = new XSSFCellStyle(1, 1, stylesTable);
|
||||||
|
assertEquals(1, cellStyle.getFontIndex());
|
||||||
|
|
||||||
|
sheet.setDefaultColumnStyle((short) 3, cellStyle);
|
||||||
|
assertEquals(1, ctWorksheet.getColsArray(0).getColArray(0).getStyle());
|
||||||
|
XSSFRow row = (XSSFRow) sheet.createRow(0);
|
||||||
|
XSSFCell cell = (XSSFCell) sheet.getRow(0).createCell(3);
|
||||||
|
System.out.println(cell.getCellStyle());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private XSSFSheet createSheet(XSSFWorkbook workbook, String name) {
|
private XSSFSheet createSheet(XSSFWorkbook workbook, String name) {
|
||||||
XSSFSheet sheet = (XSSFSheet) workbook.createSheet(name);
|
XSSFSheet sheet = (XSSFSheet) workbook.createSheet(name);
|
||||||
|
@ -19,11 +19,15 @@ package org.apache.poi.xssf.usermodel.helpers;
|
|||||||
|
|
||||||
import junit.framework.TestCase;
|
import junit.framework.TestCase;
|
||||||
|
|
||||||
|
import org.apache.poi.xssf.model.StylesTable;
|
||||||
|
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
|
||||||
import org.apache.poi.xssf.usermodel.XSSFSheet;
|
import org.apache.poi.xssf.usermodel.XSSFSheet;
|
||||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCol;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCol;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCols;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCols;
|
||||||
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheet;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheet;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheet;
|
||||||
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTXf;
|
||||||
|
|
||||||
public class TestColumnHelper extends TestCase {
|
public class TestColumnHelper extends TestCase {
|
||||||
|
|
||||||
@ -53,8 +57,8 @@ public class TestColumnHelper extends TestCase {
|
|||||||
assertEquals(1, worksheet.sizeOfColsArray());
|
assertEquals(1, worksheet.sizeOfColsArray());
|
||||||
count = countColumns(worksheet);
|
count = countColumns(worksheet);
|
||||||
assertEquals(16375, count);
|
assertEquals(16375, count);
|
||||||
assertEquals((double) 88, helper.getColumn(1).getWidth());
|
assertEquals((double) 88, helper.getColumn(1, false).getWidth());
|
||||||
assertTrue(helper.getColumn(1).getHidden());
|
assertTrue(helper.getColumn(1, false).getHidden());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testSortColumns() {
|
public void testSortColumns() {
|
||||||
@ -196,11 +200,12 @@ public class TestColumnHelper extends TestCase {
|
|||||||
col4.setMax(6);
|
col4.setMax(6);
|
||||||
|
|
||||||
ColumnHelper helper = new ColumnHelper(worksheet);
|
ColumnHelper helper = new ColumnHelper(worksheet);
|
||||||
assertNotNull(helper.getColumn(1));
|
assertNotNull(helper.getColumn(1, false));
|
||||||
assertEquals((double) 88, helper.getColumn(1).getWidth());
|
assertEquals((double) 88, helper.getColumn(1, false).getWidth());
|
||||||
assertTrue(helper.getColumn(1).getHidden());
|
assertTrue(helper.getColumn(1, false).getHidden());
|
||||||
assertFalse(helper.getColumn(2).getHidden());
|
assertFalse(helper.getColumn(2, false).getHidden());
|
||||||
assertNull(helper.getColumn(99));
|
assertNull(helper.getColumn(99, false));
|
||||||
|
assertNotNull(helper.getColumn(5, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testSetColumnAttributes() {
|
public void testSetColumnAttributes() {
|
||||||
@ -221,13 +226,44 @@ public class TestColumnHelper extends TestCase {
|
|||||||
XSSFWorkbook workbook = new XSSFWorkbook();
|
XSSFWorkbook workbook = new XSSFWorkbook();
|
||||||
XSSFSheet sheet = (XSSFSheet) workbook.createSheet("Sheet 1");
|
XSSFSheet sheet = (XSSFSheet) workbook.createSheet("Sheet 1");
|
||||||
ColumnHelper columnHelper = sheet.getColumnHelper();
|
ColumnHelper columnHelper = sheet.getColumnHelper();
|
||||||
CTCol col = columnHelper.getOrCreateColumn(3);
|
CTCol col = columnHelper.getOrCreateColumn(3, false);
|
||||||
assertNotNull(col);
|
assertNotNull(col);
|
||||||
assertNotNull(columnHelper.getColumn(3));
|
assertNotNull(columnHelper.getColumn(3, false));
|
||||||
|
|
||||||
CTCol col2 = columnHelper.getOrCreateColumn(30);
|
CTCol col2 = columnHelper.getOrCreateColumn(30, false);
|
||||||
assertNotNull(col2);
|
assertNotNull(col2);
|
||||||
assertNotNull(columnHelper.getColumn(30));
|
assertNotNull(columnHelper.getColumn(30, false));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testGetSetColDefaultStyle() {
|
||||||
|
XSSFWorkbook workbook = new XSSFWorkbook();
|
||||||
|
CTSheet ctSheet = CTSheet.Factory.newInstance();
|
||||||
|
CTWorksheet ctWorksheet = CTWorksheet.Factory.newInstance();
|
||||||
|
XSSFSheet sheet = new XSSFSheet(ctSheet, ctWorksheet, (XSSFWorkbook) workbook);
|
||||||
|
ColumnHelper columnHelper = sheet.getColumnHelper();
|
||||||
|
CTCol col = columnHelper.getOrCreateColumn(3, false);
|
||||||
|
assertNotNull(col);
|
||||||
|
assertNotNull(columnHelper.getColumn(3, false));
|
||||||
|
columnHelper.setColDefaultStyle(3, 2);
|
||||||
|
assertEquals(2, columnHelper.getColDefaultStyle(3));
|
||||||
|
assertEquals(-1, columnHelper.getColDefaultStyle(4));
|
||||||
|
StylesTable stylesTable = (StylesTable) workbook.getStylesSource();
|
||||||
|
CTXf cellXf = CTXf.Factory.newInstance();
|
||||||
|
cellXf.setFontId(0);
|
||||||
|
cellXf.setFillId(0);
|
||||||
|
cellXf.setBorderId(0);
|
||||||
|
cellXf.setNumFmtId(0);
|
||||||
|
cellXf.setXfId(0);
|
||||||
|
stylesTable.putCellXf(cellXf);
|
||||||
|
CTCol col_2 = ctWorksheet.getColsArray(0).addNewCol();
|
||||||
|
col_2.setMin(10);
|
||||||
|
col_2.setMax(12);
|
||||||
|
col_2.setStyle(1);
|
||||||
|
assertEquals(1, columnHelper.getColDefaultStyle(11));
|
||||||
|
XSSFCellStyle cellStyle = new XSSFCellStyle(0, 0, stylesTable);
|
||||||
|
columnHelper.setColDefaultStyle(11, cellStyle);
|
||||||
|
assertEquals(0, col_2.getStyle());
|
||||||
|
assertEquals(1, columnHelper.getColDefaultStyle(10));
|
||||||
}
|
}
|
||||||
|
|
||||||
private int countColumns(CTWorksheet worksheet) {
|
private int countColumns(CTWorksheet worksheet) {
|
||||||
|
Loading…
Reference in New Issue
Block a user