View | Details | Raw Unified | Return to bug 44480
Collapse All | Expand All

(-)src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java (-6 / +23 lines)
Lines 52-57 Link Here
52
import org.openxml4j.opc.TargetMode;
52
import org.openxml4j.opc.TargetMode;
53
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBookView;
53
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBookView;
54
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBookViews;
54
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBookViews;
55
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDialogsheet;
55
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheet;
56
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheet;
56
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbook;
57
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbook;
57
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheet;
58
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheet;
Lines 204-218 Link Here
204
    }
205
    }
205
206
206
    public Sheet createSheet(String sheetname) {
207
    public Sheet createSheet(String sheetname) {
207
        CTSheet sheet = workbook.getSheets().addNewSheet();
208
        return createSheet(sheetname, null);
208
        if (sheetname != null) {
209
    }
209
            sheet.setName(sheetname);
210
    
210
        }
211
    public Sheet createSheet(String sheetname, CTWorksheet worksheet) {
211
        XSSFSheet wrapper = new XSSFSheet(sheet, this);
212
        CTSheet sheet = addSheet(sheetname);
213
        XSSFWorksheet wrapper = new XSSFWorksheet(sheet, worksheet, this);
212
        this.sheets.add(wrapper);
214
        this.sheets.add(wrapper);
213
        return wrapper;
215
        return wrapper;
214
    }
216
    }
217
    
218
    public Sheet createDialogsheet(String sheetname, CTDialogsheet dialogsheet) {
219
    	  CTSheet sheet = addSheet(sheetname);
220
    	  XSSFDialogsheet wrapper = new XSSFDialogsheet(sheet, dialogsheet, this);
221
    	  this.sheets.add(wrapper);
222
    	  return wrapper;
223
    }
215
224
225
	private CTSheet addSheet(String sheetname) {
226
		CTSheet sheet = workbook.getSheets().addNewSheet();
227
        if (sheetname != null) {
228
            sheet.setName(sheetname);
229
        }
230
		return sheet;
231
	}
232
216
    public void dumpDrawingGroupRecords(boolean fat) {
233
    public void dumpDrawingGroupRecords(boolean fat) {
217
        // TODO Auto-generated method stub
234
        // TODO Auto-generated method stub
218
235
Lines 479-485 Link Here
479
             out.close();
496
             out.close();
480
             
497
             
481
             for (int i = 0 ; i < this.getNumberOfSheets() ; ++i) {
498
             for (int i = 0 ; i < this.getNumberOfSheets() ; ++i) {
482
                 XSSFSheet sheet = (XSSFSheet) this.getSheetAt(i);
499
            	 XSSFSheet sheet = (XSSFSheet) this.getSheetAt(i);
483
                 PackagePartName partName = PackagingURIHelper.createPartName("/xl/worksheets/sheet" + i + ".xml");
500
                 PackagePartName partName = PackagingURIHelper.createPartName("/xl/worksheets/sheet" + i + ".xml");
484
                 corePart.addRelationship(partName, TargetMode.INTERNAL, WORKSHEET_RELATIONSHIP, "rSheet" + 1);
501
                 corePart.addRelationship(partName, TargetMode.INTERNAL, WORKSHEET_RELATIONSHIP, "rSheet" + 1);
485
                 PackagePart part = pkg.createPart(partName, WORKSHEET_TYPE);
502
                 PackagePart part = pkg.createPart(partName, WORKSHEET_TYPE);
(-)src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java (-122 / +129 lines)
Lines 17-23 Link Here
17
17
18
package org.apache.poi.xssf.usermodel;
18
package org.apache.poi.xssf.usermodel;
19
19
20
import java.util.Collection;
21
import java.util.Iterator;
20
import java.util.Iterator;
22
import java.util.LinkedList;
21
import java.util.LinkedList;
23
import java.util.List;
22
import java.util.List;
Lines 29-45 Link Here
29
import org.apache.poi.ss.usermodel.Footer;
28
import org.apache.poi.ss.usermodel.Footer;
30
import org.apache.poi.ss.usermodel.Header;
29
import org.apache.poi.ss.usermodel.Header;
31
import org.apache.poi.ss.usermodel.Patriarch;
30
import org.apache.poi.ss.usermodel.Patriarch;
32
import org.apache.poi.ss.usermodel.PictureData;
33
import org.apache.poi.ss.usermodel.PrintSetup;
31
import org.apache.poi.ss.usermodel.PrintSetup;
34
import org.apache.poi.ss.usermodel.Row;
32
import org.apache.poi.ss.usermodel.Row;
35
import org.apache.poi.ss.usermodel.Sheet;
33
import org.apache.poi.ss.usermodel.Sheet;
36
import org.apache.poi.xssf.usermodel.helpers.ColumnHelper;
34
import org.apache.poi.xssf.usermodel.helpers.ColumnHelper;
37
import org.apache.poi.xssf.util.CellReference;
35
import org.apache.poi.xssf.util.CellReference;
38
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBreak;
36
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBreak;
37
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDialogsheet;
39
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTHeaderFooter;
38
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTHeaderFooter;
40
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPageBreak;
39
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPageBreak;
41
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPageMargins;
40
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPageMargins;
42
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPageSetUpPr;
41
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPageSetUpPr;
42
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPrintOptions;
43
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTRow;
43
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTRow;
44
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheet;
44
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheet;
45
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheetFormatPr;
45
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheetFormatPr;
Lines 51-61 Link Here
51
51
52
public class XSSFSheet implements Sheet {
52
public class XSSFSheet implements Sheet {
53
53
54
    private CTSheet sheet;
54
    protected CTSheet sheet;
55
    private CTWorksheet typesheet;
55
    protected CTWorksheet worksheet;
56
    private List<Row> rows;
56
    protected CTDialogsheet dialogsheet;
57
    private ColumnHelper columnHelper;
57
    protected List<Row> rows;
58
    private XSSFWorkbook workbook;
58
    protected ColumnHelper columnHelper;
59
    protected XSSFWorkbook workbook;
59
60
60
    public static final short LeftMargin = 0;
61
    public static final short LeftMargin = 0;
61
    public static final short RightMargin = 1;
62
    public static final short RightMargin = 1;
Lines 63-85 Link Here
63
    public static final short BottomMargin = 3;
64
    public static final short BottomMargin = 3;
64
    public static final short HeaderMargin = 4;
65
    public static final short HeaderMargin = 4;
65
    public static final short FooterMargin = 5;
66
    public static final short FooterMargin = 5;
66
    
67
67
    public XSSFSheet(CTSheet sheet, XSSFWorkbook workbook) {
68
	public XSSFSheet(CTSheet sheet, CTWorksheet worksheet, XSSFWorkbook workbook) {
68
        this.workbook = workbook;
69
        this.workbook = workbook;
69
        this.sheet = sheet;
70
        this.sheet = sheet;
70
        this.typesheet = CTWorksheet.Factory.newInstance();
71
        this.worksheet = worksheet;
71
        this.typesheet.addNewSheetData();
72
        if (this.worksheet == null) {
72
        initRows(typesheet);
73
        	this.worksheet = CTWorksheet.Factory.newInstance();
73
        initColumns(typesheet);
74
        }
74
    }
75
        if (this.worksheet.getSheetData() == null) {
75
    
76
        	this.worksheet.addNewSheetData();
76
    public XSSFSheet(CTSheet sheet, CTWorksheet worksheet, XSSFWorkbook workbook) {
77
        }
77
        this.sheet = sheet;
78
        initRows(this.worksheet);
78
        this.typesheet = worksheet;
79
        initColumns(this.worksheet);
79
        this.workbook = workbook;
80
	}
80
        initRows(worksheet);
81
        initColumns(worksheet);
82
    }
83
81
84
    public XSSFSheet(XSSFWorkbook workbook) {
82
    public XSSFSheet(XSSFWorkbook workbook) {
85
        this.workbook = workbook;
83
        this.workbook = workbook;
Lines 89-106 Link Here
89
        return this.workbook;
87
        return this.workbook;
90
    }
88
    }
91
    
89
    
90
    protected CTWorksheet getWorksheet() {
91
        return this.worksheet;
92
    }
93
    
92
    public ColumnHelper getColumnHelper() {
94
    public ColumnHelper getColumnHelper() {
93
    	return columnHelper;
95
    	return columnHelper;
94
    }
96
    }
95
97
96
    private void initRows(CTWorksheet worksheet) {
98
    protected void initRows(CTWorksheet worksheet) {
97
        this.rows = new LinkedList<Row>();
99
        this.rows = new LinkedList<Row>();
98
        for (CTRow row : worksheet.getSheetData().getRowArray()) {
100
        for (CTRow row : worksheet.getSheetData().getRowArray()) {
99
            this.rows.add(new XSSFRow(row, this));
101
            this.rows.add(new XSSFRow(row, this));
100
        }
102
        }
101
    }
103
    }
102
104
103
    private void initColumns(CTWorksheet worksheet) {
105
    protected void initColumns(CTWorksheet worksheet) {
104
        columnHelper = new ColumnHelper(worksheet);
106
        columnHelper = new ColumnHelper(worksheet);
105
    }
107
    }
106
108
Lines 108-117 Link Here
108
        return this.sheet;
110
        return this.sheet;
109
    }
111
    }
110
    
112
    
111
    protected CTWorksheet getWorksheet() {
112
        return this.typesheet;
113
    }
114
    
115
    public int addMergedRegion(Region region) {
113
    public int addMergedRegion(Region region) {
116
        // TODO Auto-generated method stub
114
        // TODO Auto-generated method stub
117
        return 0;
115
        return 0;
Lines 137-143 Link Here
137
    }
135
    }
138
136
139
    protected XSSFRow addRow(int index, int rownum) {
137
    protected XSSFRow addRow(int index, int rownum) {
140
        CTRow row = this.typesheet.getSheetData().insertNewRow(index);
138
        CTRow row = this.worksheet.getSheetData().insertNewRow(index);
141
        XSSFRow xrow = new XSSFRow(row, this);
139
        XSSFRow xrow = new XSSFRow(row, this);
142
        xrow.setRowNum(rownum);
140
        xrow.setRowNum(rownum);
143
        return xrow;
141
        return xrow;
Lines 185-205 Link Here
185
    }
183
    }
186
184
187
    public boolean getAutobreaks() {
185
    public boolean getAutobreaks() {
188
        return getTypesheetPageSetUpPr().getAutoPageBreaks();
186
        return getSheetTypePageSetUpPr().getAutoPageBreaks();
189
    }
187
    }
190
188
191
	private CTPageSetUpPr getTypesheetPageSetUpPr() {
189
	private CTPageSetUpPr getSheetTypePageSetUpPr() {
192
    	if (getTypesheetSheetPr().getPageSetUpPr() == null) {
190
    	if (getSheetTypeSheetPr().getPageSetUpPr() == null) {
193
    		getTypesheetSheetPr().setPageSetUpPr(CTPageSetUpPr.Factory.newInstance());
191
    		getSheetTypeSheetPr().setPageSetUpPr(CTPageSetUpPr.Factory.newInstance());
194
    	}
192
    	}
195
		return getTypesheetSheetPr().getPageSetUpPr();
193
		return getSheetTypeSheetPr().getPageSetUpPr();
196
	}
194
	}
197
195
198
	protected CTSheetPr getTypesheetSheetPr() {
196
	protected CTSheetPr getSheetTypeSheetPr() {
199
    	if (typesheet.getSheetPr() == null) {
197
    	if (worksheet.getSheetPr() == null) {
200
    		typesheet.setSheetPr(CTSheetPr.Factory.newInstance());
198
    		worksheet.setSheetPr(CTSheetPr.Factory.newInstance());
201
    	}
199
    	}
202
		return typesheet.getSheetPr();
200
		return worksheet.getSheetPr();
203
	}
201
	}
204
202
205
    public Comment getCellComment(int row, int column) {
203
    public Comment getCellComment(int row, int column) {
Lines 208-214 Link Here
208
    }
206
    }
209
207
210
    public short[] getColumnBreaks() {
208
    public short[] getColumnBreaks() {
211
        CTBreak[] brkArray = getTypesheetColumnBreaks().getBrkArray();
209
        CTBreak[] brkArray = getSheetTypeColumnBreaks().getBrkArray();
212
        if (brkArray.length == 0) {
210
        if (brkArray.length == 0) {
213
            return null;
211
            return null;
214
        }
212
        }
Lines 220-230 Link Here
220
        return breaks;
218
        return breaks;
221
    }
219
    }
222
220
223
	protected CTPageBreak getTypesheetColumnBreaks() {
221
	protected CTPageBreak getSheetTypeColumnBreaks() {
224
		if (typesheet.getColBreaks() == null) {
222
		if (worksheet.getColBreaks() == null) {
225
			typesheet.setColBreaks(CTPageBreak.Factory.newInstance());
223
			worksheet.setColBreaks(CTPageBreak.Factory.newInstance());
226
		}
224
		}
227
		return typesheet.getColBreaks();
225
		return worksheet.getColBreaks();
228
	}
226
	}
229
227
230
    public short getColumnWidth(short column) {
228
    public short getColumnWidth(short column) {
Lines 232-258 Link Here
232
    }
230
    }
233
231
234
    public short getDefaultColumnWidth() {
232
    public short getDefaultColumnWidth() {
235
        return (short) getTypesheetSheetFormatPr().getDefaultColWidth();
233
        return (short) getSheetTypeSheetFormatPr().getDefaultColWidth();
236
    }
234
    }
237
235
238
    public short getDefaultRowHeight() {
236
    public short getDefaultRowHeight() {
239
        return (short) (getTypesheetSheetFormatPr().getDefaultRowHeight() * 20);
237
        return (short) (getSheetTypeSheetFormatPr().getDefaultRowHeight() * 20);
240
    }
238
    }
241
239
242
	protected CTSheetFormatPr getTypesheetSheetFormatPr() {
240
	protected CTSheetFormatPr getSheetTypeSheetFormatPr() {
243
		if (typesheet.getSheetFormatPr() == null) {
241
		if (worksheet.getSheetFormatPr() == null) {
244
			typesheet.setSheetFormatPr(CTSheetFormatPr.Factory.newInstance());
242
			worksheet.setSheetFormatPr(CTSheetFormatPr.Factory.newInstance());
245
		}
243
		}
246
		return typesheet.getSheetFormatPr();
244
		return worksheet.getSheetFormatPr();
247
	}
245
	}
248
246
249
    public float getDefaultRowHeightInPoints() {
247
    public float getDefaultRowHeightInPoints() {
250
        return (short) getTypesheetSheetFormatPr().getDefaultRowHeight();
248
        return (short) getSheetTypeSheetFormatPr().getDefaultRowHeight();
251
    }
249
    }
252
250
253
    public boolean getDialog() {
251
    public boolean getDialog() {
254
        // TODO Auto-generated method stub
252
    	if (dialogsheet != null) {
255
        return false;
253
    		return true;
254
    	}
255
    	return false;
256
    }
256
    }
257
257
258
    public boolean getDisplayGuts() {
258
    public boolean getDisplayGuts() {
Lines 271-277 Link Here
271
    }
271
    }
272
272
273
    public boolean getFitToPage() {
273
    public boolean getFitToPage() {
274
        return getTypesheetPageSetUpPr().getFitToPage();
274
        return getSheetTypePageSetUpPr().getFitToPage();
275
    }
275
    }
276
276
277
    public Footer getFooter() {
277
    public Footer getFooter() {
Lines 279-300 Link Here
279
    }
279
    }
280
    
280
    
281
    public Footer getOddFooter() {
281
    public Footer getOddFooter() {
282
        return new XSSFOddFooter(getTypesheetHeaderFooter());
282
        return new XSSFOddFooter(getSheetTypeHeaderFooter());
283
    }
283
    }
284
284
285
	protected CTHeaderFooter getTypesheetHeaderFooter() {
285
	protected CTHeaderFooter getSheetTypeHeaderFooter() {
286
		if (typesheet.getHeaderFooter() == null) {
286
		if (worksheet.getHeaderFooter() == null) {
287
			typesheet.setHeaderFooter(CTHeaderFooter.Factory.newInstance());
287
			worksheet.setHeaderFooter(CTHeaderFooter.Factory.newInstance());
288
		}
288
		}
289
		return typesheet.getHeaderFooter();
289
		return worksheet.getHeaderFooter();
290
	}
290
	}
291
    
291
    
292
    public Footer getEvenFooter() {
292
    public Footer getEvenFooter() {
293
        return new XSSFEvenFooter(getTypesheetHeaderFooter());
293
        return new XSSFEvenFooter(getSheetTypeHeaderFooter());
294
    }
294
    }
295
    
295
    
296
    public Footer getFirstFooter() {
296
    public Footer getFirstFooter() {
297
        return new XSSFFirstFooter(getTypesheetHeaderFooter());
297
        return new XSSFFirstFooter(getSheetTypeHeaderFooter());
298
    }
298
    }
299
299
300
    public Header getHeader() {
300
    public Header getHeader() {
Lines 302-324 Link Here
302
    }
302
    }
303
    
303
    
304
    public Header getOddHeader() {
304
    public Header getOddHeader() {
305
        return new XSSFOddHeader(getTypesheetHeaderFooter());
305
        return new XSSFOddHeader(getSheetTypeHeaderFooter());
306
    }
306
    }
307
    
307
    
308
    public Header getEvenHeader() {
308
    public Header getEvenHeader() {
309
        return new XSSFEvenHeader(getTypesheetHeaderFooter()
309
        return new XSSFEvenHeader(getSheetTypeHeaderFooter()
310
);
310
);
311
    }
311
    }
312
    
312
    
313
    public Header getFirstHeader() {
313
    public Header getFirstHeader() {
314
        return new XSSFFirstHeader(getTypesheetHeaderFooter());
314
        return new XSSFFirstHeader(getSheetTypeHeaderFooter());
315
    }
315
    }
316
316
317
    public boolean getHorizontallyCenter() {
317
    public boolean getHorizontallyCenter() {
318
        // TODO Auto-generated method stub
318
    	return getSheetTypePrintOptions().getHorizontalCentered();
319
        return false;
320
    }
319
    }
321
320
321
	protected CTPrintOptions getSheetTypePrintOptions() {
322
		if (worksheet.getPrintOptions() == null) {
323
			worksheet.setPrintOptions(CTPrintOptions.Factory.newInstance());
324
		}
325
		return worksheet.getPrintOptions();
326
	}
327
322
    public int getLastRowNum() {
328
    public int getLastRowNum() {
323
        int lastRowNum = -1;
329
        int lastRowNum = -1;
324
        for (Iterator<Row> it = rowIterator() ; it.hasNext() ; ) {
330
        for (Iterator<Row> it = rowIterator() ; it.hasNext() ; ) {
Lines 332-344 Link Here
332
338
333
    public short getLeftCol() {
339
    public short getLeftCol() {
334
    	// TODO no test for this method at the moment.
340
    	// TODO no test for this method at the moment.
335
    	String cellRef = typesheet.getSheetViews().getSheetViewArray(0).getTopLeftCell();
341
    	String cellRef = worksheet.getSheetViews().getSheetViewArray(0).getTopLeftCell();
336
    	CellReference cellReference = new CellReference(cellRef);
342
    	CellReference cellReference = new CellReference(cellRef);
337
        return cellReference.getCol();
343
        return cellReference.getCol();
338
    }
344
    }
339
345
340
    public double getMargin(short margin) {
346
    public double getMargin(short margin) {
341
        CTPageMargins pageMargins = getTypesheetPageMargins();
347
        CTPageMargins pageMargins = getSheetTypePageMargins();
342
        switch (margin) {
348
        switch (margin) {
343
        case LeftMargin:
349
        case LeftMargin:
344
            return pageMargins.getLeft();
350
            return pageMargins.getLeft();
Lines 357-367 Link Here
357
        }
363
        }
358
    }
364
    }
359
365
360
	protected CTPageMargins getTypesheetPageMargins() {
366
	protected CTPageMargins getSheetTypePageMargins() {
361
		if (typesheet.getPageMargins() == null) {
367
		if (worksheet.getPageMargins() == null) {
362
			typesheet.setPageMargins(CTPageMargins.Factory.newInstance());
368
			worksheet.setPageMargins(CTPageMargins.Factory.newInstance());
363
		}
369
		}
364
		return typesheet.getPageMargins();
370
		return worksheet.getPageMargins();
365
	}
371
	}
366
372
367
    public Region getMergedRegionAt(int index) {
373
    public Region getMergedRegionAt(int index) {
Lines 420-426 Link Here
420
    }
426
    }
421
427
422
    public int[] getRowBreaks() {
428
    public int[] getRowBreaks() {
423
        CTPageBreak rowBreaks = getTypesheetRowBreaks();
429
        CTPageBreak rowBreaks = getSheetTypeRowBreaks();
424
        int breaksCount = rowBreaks.getBrkArray().length;
430
        int breaksCount = rowBreaks.getBrkArray().length;
425
        if (breaksCount == 0) {
431
        if (breaksCount == 0) {
426
            return null;
432
            return null;
Lines 433-443 Link Here
433
        return breaks;
439
        return breaks;
434
    }
440
    }
435
441
436
	protected CTPageBreak getTypesheetRowBreaks() {
442
	protected CTPageBreak getSheetTypeRowBreaks() {
437
		if (typesheet.getRowBreaks() == null) {
443
		if (worksheet.getRowBreaks() == null) {
438
			typesheet.setRowBreaks(CTPageBreak.Factory.newInstance());
444
			worksheet.setRowBreaks(CTPageBreak.Factory.newInstance());
439
		}
445
		}
440
		return typesheet.getRowBreaks();
446
		return worksheet.getRowBreaks();
441
	}
447
	}
442
448
443
    public boolean getRowSumsBelow() {
449
    public boolean getRowSumsBelow() {
Lines 457-463 Link Here
457
463
458
    public short getTopRow() {
464
    public short getTopRow() {
459
    	// TODO no test for this method at the moment.
465
    	// TODO no test for this method at the moment.
460
    	String cellRef = typesheet.getSheetViews().getSheetViewArray(0).getTopLeftCell();
466
    	String cellRef = worksheet.getSheetViews().getSheetViewArray(0).getTopLeftCell();
461
    	CellReference cellReference = new CellReference(cellRef);
467
    	CellReference cellReference = new CellReference(cellRef);
462
        return (short) cellReference.getRow();
468
        return (short) cellReference.getRow();
463
    }
469
    }
Lines 478-484 Link Here
478
    }
484
    }
479
485
480
    public boolean isColumnBroken(short column) {
486
    public boolean isColumnBroken(short column) {
481
        CTBreak[] brkArray = getTypesheetColumnBreaks().getBrkArray();
487
        CTBreak[] brkArray = getSheetTypeColumnBreaks().getBrkArray();
482
        for (int i = 0 ; i < brkArray.length ; i++) {
488
        for (int i = 0 ; i < brkArray.length ; i++) {
483
            if (brkArray[i].getId() == column) {
489
            if (brkArray[i].getId() == column) {
484
                return true;
490
                return true;
Lines 492-519 Link Here
492
    }
498
    }
493
499
494
    public boolean isDisplayFormulas() {
500
    public boolean isDisplayFormulas() {
495
        // TODO Auto-generated method stub
501
    	return getSheetTypeSheetView().getShowFormulas();
496
        return false;
497
    }
502
    }
498
503
499
    public boolean isDisplayGridlines() {
504
    public boolean isDisplayGridlines() {
500
        // TODO Auto-generated method stub
505
        return getSheetTypeSheetView().getShowGridLines();
501
        return false;
502
    }
506
    }
503
507
504
    public boolean isDisplayRowColHeadings() {
508
    public boolean isDisplayRowColHeadings() {
505
        // TODO Auto-generated method stub
509
        return getSheetTypeSheetView().getShowRowColHeaders();
506
        return false;
507
    }
510
    }
508
511
509
    public boolean isGridsPrinted() {
512
    public boolean isGridsPrinted() {
510
        // TODO Auto-generated method stub
513
    	return isPrintGridlines();
511
        return false;
512
    }
514
    }
513
515
514
    public boolean isPrintGridlines() {
516
    public boolean isPrintGridlines() {
515
        // TODO Auto-generated method stub
517
    	return getSheetTypePrintOptions().getGridLines();
516
        return false;
517
    }
518
    }
518
519
519
    public boolean isRowBroken(int row) {
520
    public boolean isRowBroken(int row) {
Lines 535-544 Link Here
535
    }
536
    }
536
537
537
    public void removeColumnBreak(short column) {
538
    public void removeColumnBreak(short column) {
538
        CTBreak[] brkArray = getTypesheetColumnBreaks().getBrkArray();
539
        CTBreak[] brkArray = getSheetTypeColumnBreaks().getBrkArray();
539
        for (int i = 0 ; i < brkArray.length ; i++) {
540
        for (int i = 0 ; i < brkArray.length ; i++) {
540
            if (brkArray[i].getId() == column) {
541
            if (brkArray[i].getId() == column) {
541
                getTypesheetColumnBreaks().removeBrk(i);
542
                getSheetTypeColumnBreaks().removeBrk(i);
542
                continue;
543
                continue;
543
            }
544
            }
544
        }
545
        }
Lines 555-571 Link Here
555
            Row r = it.next();
556
            Row r = it.next();
556
            if (r.getRowNum() == row.getRowNum()) {
557
            if (r.getRowNum() == row.getRowNum()) {
557
                it.remove();
558
                it.remove();
558
                typesheet.getSheetData().removeRow(counter);
559
                worksheet.getSheetData().removeRow(counter);
559
            }
560
            }
560
            counter++;
561
            counter++;
561
        }
562
        }
562
    }
563
    }
563
564
564
    public void removeRowBreak(int row) {
565
    public void removeRowBreak(int row) {
565
        CTBreak[] brkArray = getTypesheetRowBreaks().getBrkArray();
566
        CTBreak[] brkArray = getSheetTypeRowBreaks().getBrkArray();
566
        for (int i = 0 ; i < brkArray.length ; i++) {
567
        for (int i = 0 ; i < brkArray.length ; i++) {
567
            if (brkArray[i].getId() == row) {
568
            if (brkArray[i].getId() == row) {
568
                getTypesheetRowBreaks().removeBrk(i);
569
                getSheetTypeRowBreaks().removeBrk(i);
569
                continue;
570
                continue;
570
            }
571
            }
571
        }
572
        }
Lines 593-604 Link Here
593
    }
594
    }
594
595
595
    public void setAutobreaks(boolean b) {
596
    public void setAutobreaks(boolean b) {
596
        getTypesheetPageSetUpPr().setAutoPageBreaks(b);
597
        getSheetTypePageSetUpPr().setAutoPageBreaks(b);
597
    }
598
    }
598
599
599
    public void setColumnBreak(short column) {
600
    public void setColumnBreak(short column) {
600
        if (! isColumnBroken(column)) {
601
        if (! isColumnBroken(column)) {
601
            CTBreak brk = getTypesheetColumnBreaks().addNewBrk();
602
            CTBreak brk = getSheetTypeColumnBreaks().addNewBrk();
602
            brk.setId(column);
603
            brk.setId(column);
603
        }
604
        }
604
    }
605
    }
Lines 622-653 Link Here
622
    }
623
    }
623
624
624
    public void setDefaultColumnWidth(short width) {
625
    public void setDefaultColumnWidth(short width) {
625
        getTypesheetSheetFormatPr().setDefaultColWidth((double) width);
626
        getSheetTypeSheetFormatPr().setDefaultColWidth((double) width);
626
    }
627
    }
627
628
628
    public void setDefaultRowHeight(short height) {
629
    public void setDefaultRowHeight(short height) {
629
        getTypesheetSheetFormatPr().setDefaultRowHeight(height / 20);
630
        getSheetTypeSheetFormatPr().setDefaultRowHeight(height / 20);
630
631
631
    }
632
    }
632
633
633
    public void setDefaultRowHeightInPoints(float height) {
634
    public void setDefaultRowHeightInPoints(float height) {
634
        getTypesheetSheetFormatPr().setDefaultRowHeight(height);
635
        getSheetTypeSheetFormatPr().setDefaultRowHeight(height);
635
636
636
    }
637
    }
637
638
638
    public void setDialog(boolean b) {
639
    public void setDialog(boolean b) {
639
        // TODO Auto-generated method stub
640
        // TODO Auto-generated method stub
640
641
    }
641
    }
642
642
643
    public void setDisplayFormulas(boolean show) {
643
    public void setDisplayFormulas(boolean show) {
644
        // TODO Auto-generated method stub
644
    	getSheetTypeSheetView().setShowFormulas(show);
645
646
    }
645
    }
647
646
647
	protected CTSheetView getSheetTypeSheetView() {
648
		if (getDefaultSheetView() == null) {
649
			getSheetTypeSheetViews().setSheetViewArray(0, CTSheetView.Factory.newInstance());
650
		}
651
		return getDefaultSheetView();
652
	}
653
648
    public void setDisplayGridlines(boolean show) {
654
    public void setDisplayGridlines(boolean show) {
649
        // TODO Auto-generated method stub
655
    	getSheetTypeSheetView().setShowGridLines(show);
650
651
    }
656
    }
652
657
653
    public void setDisplayGuts(boolean b) {
658
    public void setDisplayGuts(boolean b) {
Lines 656-681 Link Here
656
    }
661
    }
657
662
658
    public void setDisplayRowColHeadings(boolean show) {
663
    public void setDisplayRowColHeadings(boolean show) {
659
        // TODO Auto-generated method stub
664
    	getSheetTypeSheetView().setShowRowColHeaders(show);
660
661
    }
665
    }
662
666
663
    public void setFitToPage(boolean b) {
667
    public void setFitToPage(boolean b) {
664
        getTypesheetPageSetUpPr().setFitToPage(b);
668
        getSheetTypePageSetUpPr().setFitToPage(b);
665
    }
669
    }
666
670
667
    public void setGridsPrinted(boolean value) {
671
    public void setGridsPrinted(boolean value) {
668
        // TODO Auto-generated method stub
672
    	setPrintGridlines(value);
669
670
    }
673
    }
671
674
672
    public void setHorizontallyCenter(boolean value) {
675
    public void setHorizontallyCenter(boolean value) {
673
        // TODO Auto-generated method stub
676
    	getSheetTypePrintOptions().setHorizontalCentered(value);
674
675
    }
677
    }
676
678
677
    public void setMargin(short margin, double size) {
679
    public void setMargin(short margin, double size) {
678
        CTPageMargins pageMargins = getTypesheetPageMargins();
680
        CTPageMargins pageMargins = getSheetTypePageMargins();
679
        switch (margin) {
681
        switch (margin) {
680
        case LeftMargin:
682
        case LeftMargin:
681
            pageMargins.setLeft(size);
683
            pageMargins.setLeft(size);
Lines 693-700 Link Here
693
    }
695
    }
694
696
695
    public void setPrintGridlines(boolean newPrintGridlines) {
697
    public void setPrintGridlines(boolean newPrintGridlines) {
696
        // TODO Auto-generated method stub
698
    	getSheetTypePrintOptions().setGridLines(newPrintGridlines);
697
698
    }
699
    }
699
700
700
    public void setProtect(boolean protect) {
701
    public void setProtect(boolean protect) {
Lines 703-709 Link Here
703
    }
704
    }
704
705
705
    public void setRowBreak(int row) {
706
    public void setRowBreak(int row) {
706
        CTPageBreak pageBreak = getTypesheetRowBreaks();
707
        CTPageBreak pageBreak = getSheetTypeRowBreaks();
707
        if (! isRowBroken(row)) {
708
        if (! isRowBroken(row)) {
708
            CTBreak brk = pageBreak.addNewBrk();
709
            CTBreak brk = pageBreak.addNewBrk();
709
            brk.setId(row);
710
            brk.setId(row);
Lines 766-783 Link Here
766
    }
767
    }
767
768
768
    public void setTabSelected(boolean flag) {
769
    public void setTabSelected(boolean flag) {
769
        CTSheetViews views = getTypesheetSheetViews();
770
        CTSheetViews views = getSheetTypeSheetViews();
770
        for (CTSheetView view : views.getSheetViewArray()) {
771
        for (CTSheetView view : views.getSheetViewArray()) {
771
            view.setTabSelected(flag);
772
            view.setTabSelected(flag);
772
        }
773
        }
773
    }
774
    }
774
775
775
	protected CTSheetViews getTypesheetSheetViews() {
776
	protected CTSheetViews getSheetTypeSheetViews() {
776
		if (typesheet.getSheetViews() == null) {
777
		if (worksheet.getSheetViews() == null) {
777
			typesheet.setSheetViews(CTSheetViews.Factory.newInstance());
778
			worksheet.setSheetViews(CTSheetViews.Factory.newInstance());
778
			typesheet.getSheetViews().addNewSheetView();
779
			worksheet.getSheetViews().addNewSheetView();
779
		}
780
		}
780
		return typesheet.getSheetViews();
781
		return worksheet.getSheetViews();
781
	}
782
	}
782
    
783
    
783
    public boolean isTabSelected() {
784
    public boolean isTabSelected() {
Lines 795-801 Link Here
795
     * workbookView entries) are saved."
796
     * workbookView entries) are saved."
796
     */
797
     */
797
    private CTSheetView getDefaultSheetView() {
798
    private CTSheetView getDefaultSheetView() {
798
        CTSheetViews views = getTypesheetSheetViews();
799
        CTSheetViews views = getSheetTypeSheetViews();
799
        if (views == null || views.getSheetViewArray() == null || views.getSheetViewArray().length <= 0) {
800
        if (views == null || views.getSheetViewArray() == null || views.getSheetViewArray().length <= 0) {
800
            return null;
801
            return null;
801
        }
802
        }
Lines 803-809 Link Here
803
    }
804
    }
804
    
805
    
805
    protected XSSFSheet cloneSheet() {
806
    protected XSSFSheet cloneSheet() {
806
        return new XSSFSheet((CTSheet) sheet.copy(), this.workbook);
807
    	XSSFSheet newSheet = new XSSFSheet(this.workbook);
808
    	newSheet.setSheet((CTSheet)sheet.copy());
809
        return newSheet;
807
    }
810
    }
811
    
812
	private void setSheet(CTSheet sheet) {
813
		this.sheet = sheet;
814
	}
808
815
809
}
816
}
(-)src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorksheet.java (+32 lines)
Line 0 Link Here
1
/* ====================================================================
2
   Licensed to the Apache Software Foundation (ASF) under one or more
3
   contributor license agreements.  See the NOTICE file distributed with
4
   this work for additional information regarding copyright ownership.
5
   The ASF licenses this file to You under the Apache License, Version 2.0
6
   (the "License"); you may not use this file except in compliance with
7
   the License.  You may obtain a copy of the License at
8
9
       http://www.apache.org/licenses/LICENSE-2.0
10
11
   Unless required by applicable law or agreed to in writing, software
12
   distributed under the License is distributed on an "AS IS" BASIS,
13
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
   See the License for the specific language governing permissions and
15
   limitations under the License.
16
==================================================================== */
17
18
package org.apache.poi.xssf.usermodel;
19
20
import org.apache.poi.ss.usermodel.Sheet;
21
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTHeaderFooter;
22
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheet;
23
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheet;
24
25
public class XSSFWorksheet extends XSSFSheet implements Sheet{
26
27
	public XSSFWorksheet(CTSheet sheet, CTWorksheet worksheet,
28
			XSSFWorkbook workbook) {
29
		super(sheet, worksheet, workbook);
30
	}
31
	
32
}
(-)src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFDialogsheet.java (+100 lines)
Line 0 Link Here
1
/* ====================================================================
2
   Licensed to the Apache Software Foundation (ASF) under one or more
3
   contributor license agreements.  See the NOTICE file distributed with
4
   this work for additional information regarding copyright ownership.
5
   The ASF licenses this file to You under the Apache License, Version 2.0
6
   (the "License"); you may not use this file except in compliance with
7
   the License.  You may obtain a copy of the License at
8
9
       http://www.apache.org/licenses/LICENSE-2.0
10
11
   Unless required by applicable law or agreed to in writing, software
12
   distributed under the License is distributed on an "AS IS" BASIS,
13
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
   See the License for the specific language governing permissions and
15
   limitations under the License.
16
==================================================================== */
17
18
package org.apache.poi.xssf.usermodel;
19
20
import org.apache.poi.ss.usermodel.Row;
21
import org.apache.poi.ss.usermodel.Sheet;
22
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDialogsheet;
23
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTHeaderFooter;
24
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPageBreak;
25
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPageMargins;
26
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPageSetUpPr;
27
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPrintOptions;
28
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheet;
29
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheetFormatPr;
30
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheetPr;
31
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheetViews;
32
33
public class XSSFDialogsheet extends XSSFSheet implements Sheet{
34
35
	public XSSFDialogsheet(CTSheet sheet, CTDialogsheet dialogsheet,
36
			XSSFWorkbook workbook) {
37
		super(sheet, null, workbook);
38
		this.worksheet = null;
39
		this.dialogsheet = dialogsheet;
40
		if (this.dialogsheet == null) {
41
			this.dialogsheet = CTDialogsheet.Factory.newInstance();
42
		}
43
	}
44
	
45
	public Row createRow(int rowNum) {
46
		return null;
47
	}
48
49
	protected CTHeaderFooter getSheetTypeHeaderFooter() {
50
		if (dialogsheet.getHeaderFooter() == null) {
51
			dialogsheet.setHeaderFooter(CTHeaderFooter.Factory.newInstance());
52
		}
53
		return dialogsheet.getHeaderFooter();
54
	}
55
56
	protected CTSheetPr getSheetTypeSheetPr() {
57
    	if (dialogsheet.getSheetPr() == null) {
58
    		dialogsheet.setSheetPr(CTSheetPr.Factory.newInstance());
59
    	}
60
		return dialogsheet.getSheetPr();
61
	}
62
63
	protected CTPageBreak getSheetTypeColumnBreaks() {
64
		return null;
65
	}
66
67
	protected CTSheetFormatPr getSheetTypeSheetFormatPr() {
68
		if (dialogsheet.getSheetFormatPr() == null) {
69
			dialogsheet.setSheetFormatPr(CTSheetFormatPr.Factory.newInstance());
70
		}
71
		return dialogsheet.getSheetFormatPr();
72
	}
73
74
	protected CTPageMargins getSheetTypePageMargins() {
75
		if (dialogsheet.getPageMargins() == null) {
76
			dialogsheet.setPageMargins(CTPageMargins.Factory.newInstance());
77
		}
78
		return dialogsheet.getPageMargins();
79
	}
80
81
	protected CTPageBreak getSheetTypeRowBreaks() {
82
		return null;
83
	}
84
85
	protected CTSheetViews getSheetTypeSheetViews() {
86
		if (dialogsheet.getSheetViews() == null) {
87
			dialogsheet.setSheetViews(CTSheetViews.Factory.newInstance());
88
			dialogsheet.getSheetViews().addNewSheetView();
89
		}
90
		return dialogsheet.getSheetViews();
91
	}
92
93
	protected CTPrintOptions getSheetTypePrintOptions() {
94
		if (dialogsheet.getPrintOptions() == null) {
95
			dialogsheet.setPrintOptions(CTPrintOptions.Factory.newInstance());
96
		}
97
		return dialogsheet.getPrintOptions();
98
	}
99
	
100
}
(-)src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFDialogSheet.java (+209 lines)
Line 0 Link Here
1
/* ====================================================================
2
   Licensed to the Apache Software Foundation (ASF) under one or more
3
   contributor license agreements.  See the NOTICE file distributed with
4
   this work for additional information regarding copyright ownership.
5
   The ASF licenses this file to You under the Apache License, Version 2.0
6
   (the "License"); you may not use this file except in compliance with
7
   the License.  You may obtain a copy of the License at
8
9
       http://www.apache.org/licenses/LICENSE-2.0
10
11
   Unless required by applicable law or agreed to in writing, software
12
   distributed under the License is distributed on an "AS IS" BASIS,
13
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
   See the License for the specific language governing permissions and
15
   limitations under the License.
16
==================================================================== */
17
18
package org.apache.poi.xssf.usermodel;
19
20
import junit.framework.TestCase;
21
22
import org.apache.poi.ss.usermodel.Row;
23
import org.apache.poi.ss.usermodel.Sheet;
24
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDialogsheet;
25
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheet;
26
27
28
public class TestXSSFDialogSheet extends TestCase {
29
	
30
	public void testDialogsheetConstructor() {
31
        XSSFWorkbook workbook = new XSSFWorkbook();
32
        Sheet sheet = workbook.createSheet("Sheet 1");
33
		XSSFDialogsheet dialogsheet = new XSSFDialogsheet(CTSheet.Factory.newInstance(), CTDialogsheet.Factory.newInstance(), workbook);
34
		assertNotNull(dialogsheet);
35
		XSSFDialogsheet dialogsheet2 = new XSSFDialogsheet(CTSheet.Factory.newInstance(), null, workbook);
36
		assertNotNull(dialogsheet2);
37
	}
38
	
39
	public void testCreateDialogSheet() {
40
        XSSFWorkbook workbook = new XSSFWorkbook();
41
        Sheet dialogsheet = workbook.createDialogsheet("Dialogsheet 1", CTDialogsheet.Factory.newInstance());
42
        assertNotNull(dialogsheet);
43
	}
44
    
45
    public void testGetDialog() {
46
        XSSFWorkbook workbook = new XSSFWorkbook();
47
        XSSFSheet sheet = (XSSFSheet) workbook.createSheet("Sheet 1");
48
        assertFalse(sheet.getDialog());
49
        XSSFSheet dialogsheet = (XSSFSheet) workbook.createDialogsheet("Dialogsheet 1", null);
50
        assertTrue(dialogsheet.getDialog());
51
    	
52
    }
53
	
54
	public void testAddRow() {
55
        XSSFWorkbook workbook = new XSSFWorkbook();
56
        Sheet dialogsheet = workbook.createDialogsheet("Dialogsheet 1", CTDialogsheet.Factory.newInstance());
57
        assertNotNull(dialogsheet);
58
        Row row = dialogsheet.createRow(0);
59
        assertNull(row);
60
	}
61
    
62
    public void testGetSetAutoBreaks() {
63
        XSSFWorkbook workbook = new XSSFWorkbook();
64
        XSSFDialogsheet sheet = (XSSFDialogsheet) workbook.createDialogsheet("Dialogsheet 1", null);
65
        assertTrue(sheet.getAutobreaks());
66
        sheet.setAutobreaks(false);
67
        assertFalse(sheet.getAutobreaks());
68
    }
69
    
70
    public void testIsSetFitToPage() {
71
        XSSFWorkbook workbook = new XSSFWorkbook();
72
        XSSFDialogsheet sheet = (XSSFDialogsheet) workbook.createDialogsheet("Dialogsheet 1", null);
73
        assertFalse(sheet.getFitToPage());
74
        sheet.setFitToPage(true);
75
        assertTrue(sheet.getFitToPage());
76
        sheet.setFitToPage(false);
77
        assertFalse(sheet.getFitToPage());
78
    }
79
    
80
    public void testGetSetMargin() {
81
        XSSFWorkbook workbook = new XSSFWorkbook();
82
        XSSFDialogsheet sheet = (XSSFDialogsheet) workbook.createDialogsheet("Dialogsheet 1", null);
83
        assertEquals((double) 0, sheet.getMargin((short) 0));
84
        sheet.setMargin((short) 0, 10);
85
        assertEquals((double) 10, sheet.getMargin((short) 0));
86
        assertEquals((double) 10, sheet.getMargin((short) 1));
87
        assertEquals((double) 10, sheet.getMargin((short) 2));
88
        assertEquals((double) 10, sheet.getMargin((short) 3));
89
        assertEquals((double) 10, sheet.getMargin((short) 4));
90
        assertEquals((double) 10, sheet.getMargin((short) 5));
91
        sheet.setMargin((short) 1, 11);
92
        assertEquals((double) 11, sheet.getMargin((short) 1));
93
        assertEquals((double) 11, sheet.getMargin((short) 2));
94
        assertEquals((double) 11, sheet.getMargin((short) 3));
95
        assertEquals((double) 11, sheet.getMargin((short) 4));
96
        assertEquals((double) 11, sheet.getMargin((short) 5));
97
        sheet.setMargin((short) 2, 12);
98
        assertEquals((double) 12, sheet.getMargin((short) 2));
99
        assertEquals((double) 12, sheet.getMargin((short) 3));
100
        assertEquals((double) 12, sheet.getMargin((short) 4));
101
        assertEquals((double) 12, sheet.getMargin((short) 5));
102
        sheet.setMargin((short) 3, 13);
103
        assertEquals((double) 13, sheet.getMargin((short) 3));
104
        assertEquals((double) 13, sheet.getMargin((short) 4));
105
        assertEquals((double) 13, sheet.getMargin((short) 5));
106
        sheet.setMargin((short) 4, 14);
107
        assertEquals((double) 14, sheet.getMargin((short) 4));
108
        assertEquals((double) 14, sheet.getMargin((short) 5));
109
        sheet.setMargin((short) 5, 15);
110
        assertEquals((double) 15, sheet.getMargin((short) 5));
111
        
112
        // Test that nothing happens if another margin constant is given (E.G. 65)
113
        sheet.setMargin((short) 65, 15);
114
        assertEquals((double) 10, sheet.getMargin((short) 0));
115
        assertEquals((double) 11, sheet.getMargin((short) 1));
116
        assertEquals((double) 12, sheet.getMargin((short) 2));
117
        assertEquals((double) 13, sheet.getMargin((short) 3));
118
        assertEquals((double) 14, sheet.getMargin((short) 4));
119
        assertEquals((double) 15, sheet.getMargin((short) 5));
120
    }
121
    
122
    public void testGetFooter() {
123
        XSSFWorkbook workbook = new XSSFWorkbook();
124
        XSSFDialogsheet sheet = (XSSFDialogsheet) workbook.createDialogsheet("Dialogsheet 1", null);
125
        assertNotNull(sheet.getFooter());
126
        sheet.getFooter().setCenter("test center footer");
127
        assertEquals("test center footer", sheet.getFooter().getCenter());
128
    }
129
    
130
    public void testGetAllHeadersFooters() {
131
        XSSFWorkbook workbook = new XSSFWorkbook();
132
        XSSFDialogsheet sheet = (XSSFDialogsheet) workbook.createDialogsheet("Dialogsheet 1", null);
133
        assertNotNull(sheet);
134
        assertNotNull(sheet.getOddFooter());
135
        assertNotNull(sheet.getEvenFooter());
136
        assertNotNull(sheet.getFirstFooter());
137
        assertNotNull(sheet.getOddHeader());
138
        assertNotNull(sheet.getEvenHeader());
139
        assertNotNull(sheet.getFirstHeader());
140
        
141
        assertEquals("", sheet.getOddFooter().getLeft());
142
        sheet.getOddFooter().setLeft("odd footer left");
143
        assertEquals("odd footer left", sheet.getOddFooter().getLeft());
144
        
145
        assertEquals("", sheet.getEvenFooter().getLeft());
146
        sheet.getEvenFooter().setLeft("even footer left");
147
        assertEquals("even footer left", sheet.getEvenFooter().getLeft());
148
        
149
        assertEquals("", sheet.getFirstFooter().getLeft());
150
        sheet.getFirstFooter().setLeft("first footer left");
151
        assertEquals("first footer left", sheet.getFirstFooter().getLeft());
152
        
153
        assertEquals("", sheet.getOddHeader().getLeft());
154
        sheet.getOddHeader().setLeft("odd header left");
155
        assertEquals("odd header left", sheet.getOddHeader().getLeft());
156
        
157
        assertEquals("", sheet.getOddHeader().getRight());
158
        sheet.getOddHeader().setRight("odd header right");
159
        assertEquals("odd header right", sheet.getOddHeader().getRight());
160
        
161
        assertEquals("", sheet.getOddHeader().getCenter());
162
        sheet.getOddHeader().setCenter("odd header center");
163
        assertEquals("odd header center", sheet.getOddHeader().getCenter());
164
165
    }
166
    
167
    public void testGetSetHorizontallyCentered() {
168
        XSSFWorkbook workbook = new XSSFWorkbook();
169
        XSSFDialogsheet sheet = (XSSFDialogsheet) workbook.createDialogsheet("Dialogsheet 1", null);
170
        assertFalse(sheet.getHorizontallyCenter());
171
        sheet.setHorizontallyCenter(true);
172
        assertTrue(sheet.getHorizontallyCenter());
173
        sheet.setHorizontallyCenter(false);
174
        assertFalse(sheet.getHorizontallyCenter());
175
    }
176
    
177
    public void testIsSetPrintGridlines() {
178
        XSSFWorkbook workbook = new XSSFWorkbook();
179
        XSSFDialogsheet sheet = (XSSFDialogsheet) workbook.createDialogsheet("Dialogsheet 1", null);
180
        assertFalse(sheet.isPrintGridlines());
181
        sheet.setPrintGridlines(true);
182
        assertTrue(sheet.isPrintGridlines());
183
    }
184
    
185
    public void testIsSetDisplayFormulas() {
186
        XSSFWorkbook workbook = new XSSFWorkbook();
187
        XSSFDialogsheet sheet = (XSSFDialogsheet) workbook.createDialogsheet("Dialogsheet 1", null);
188
        assertFalse(sheet.isDisplayFormulas());
189
        sheet.setDisplayFormulas(true);
190
        assertTrue(sheet.isDisplayFormulas());
191
    }
192
    
193
    public void testIsSetDisplayGridLines() {
194
        XSSFWorkbook workbook = new XSSFWorkbook();
195
        XSSFDialogsheet sheet = (XSSFDialogsheet) workbook.createDialogsheet("Dialogsheet 1", null);
196
        assertTrue(sheet.isDisplayGridlines());
197
        sheet.setDisplayGridlines(false);
198
        assertFalse(sheet.isDisplayGridlines());
199
    }
200
    
201
    public void testIsSetDisplayRowColHeadings() {
202
        XSSFWorkbook workbook = new XSSFWorkbook();
203
        XSSFDialogsheet sheet = (XSSFDialogsheet) workbook.createDialogsheet("Dialogsheet 1", null);
204
        assertTrue(sheet.isDisplayRowColHeadings());
205
        sheet.setDisplayRowColHeadings(false);
206
        assertFalse(sheet.isDisplayRowColHeadings());
207
    }
208
	
209
}
(-)src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java (+54 lines)
Lines 26-31 Link Here
26
import org.apache.poi.ss.usermodel.Sheet;
26
import org.apache.poi.ss.usermodel.Sheet;
27
import org.apache.poi.xssf.usermodel.helpers.ColumnHelper;
27
import org.apache.poi.xssf.usermodel.helpers.ColumnHelper;
28
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCol;
28
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCol;
29
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDialogsheet;
30
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheet;
31
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheet;
29
32
30
33
31
public class TestXSSFSheet extends TestCase {
34
public class TestXSSFSheet extends TestCase {
Lines 335-338 Link Here
335
        assertNotNull(col);
338
        assertNotNull(col);
336
        assertTrue(col.getBestFit());	
339
        assertTrue(col.getBestFit());	
337
    }
340
    }
341
    
342
    public void testGetDialog() {
343
        XSSFWorkbook workbook = new XSSFWorkbook();
344
        XSSFSheet sheet = (XSSFSheet) workbook.createSheet("Sheet 1");
345
        assertFalse(sheet.getDialog());
346
        XSSFSheet dialogsheet = (XSSFSheet) workbook.createDialogsheet("Dialogsheet 1", null);
347
        assertTrue(dialogsheet.getDialog());
348
    	
349
    }
350
    
351
    public void testGetSetHorizontallyCentered() {
352
        XSSFWorkbook workbook = new XSSFWorkbook();
353
        XSSFSheet sheet = (XSSFSheet) workbook.createSheet("Sheet 1");
354
        assertFalse(sheet.getHorizontallyCenter());
355
        sheet.setHorizontallyCenter(true);
356
        assertTrue(sheet.getHorizontallyCenter());
357
        sheet.setHorizontallyCenter(false);
358
        assertFalse(sheet.getHorizontallyCenter());
359
    }
360
    
361
    public void testIsSetPrintGridlines() {
362
        XSSFWorkbook workbook = new XSSFWorkbook();
363
        XSSFSheet sheet = (XSSFSheet) workbook.createSheet("Sheet 1");
364
        assertFalse(sheet.isPrintGridlines());
365
        sheet.setPrintGridlines(true);
366
        assertTrue(sheet.isPrintGridlines());
367
    }
368
    
369
    public void testIsSetDisplayFormulas() {
370
        XSSFWorkbook workbook = new XSSFWorkbook();
371
        XSSFSheet sheet = (XSSFSheet) workbook.createSheet("Sheet 1");
372
        assertFalse(sheet.isDisplayFormulas());
373
        sheet.setDisplayFormulas(true);
374
        assertTrue(sheet.isDisplayFormulas());
375
    }
376
    
377
    public void testIsSetDisplayGridLines() {
378
        XSSFWorkbook workbook = new XSSFWorkbook();
379
        XSSFSheet sheet = (XSSFSheet) workbook.createSheet("Sheet 1");
380
        assertTrue(sheet.isDisplayGridlines());
381
        sheet.setDisplayGridlines(false);
382
        assertFalse(sheet.isDisplayGridlines());
383
    }
384
    
385
    public void testIsSetDisplayRowColHeadings() {
386
        XSSFWorkbook workbook = new XSSFWorkbook();
387
        XSSFSheet sheet = (XSSFSheet) workbook.createSheet("Sheet 1");
388
        assertTrue(sheet.isDisplayRowColHeadings());
389
        sheet.setDisplayRowColHeadings(false);
390
        assertFalse(sheet.isDisplayRowColHeadings());
391
    }
338
}
392
}
(-)src/ooxml/testcases/org/apache/poi/xssf/io/TestLoadSaveXSSF.java (-3 / +5 lines)
Lines 56-72 Link Here
56
        assertEquals("Lorem", cell.getRichStringCellValue().getString());
56
        assertEquals("Lorem", cell.getRichStringCellValue().getString());
57
    }
57
    }
58
    
58
    
59
    // TODO filename string hard coded in XSSFWorkbook constructor in order to make ant test-ooxml target be successfull.
59
    public void testLoadStyles() throws Exception {
60
    public void testLoadStyles() throws Exception {
60
        XSSFWorkbook workbook = new XSSFWorkbook(new File(filename, "styles.xlsx").getAbsolutePath());
61
        XSSFWorkbook workbook = new XSSFWorkbook(new File("src/ooxml/testcases/org/apache/poi/xssf/data", "styles.xlsx").getAbsolutePath());
61
        Sheet sheet = workbook.getSheetAt(0);
62
        Sheet sheet = workbook.getSheetAt(0);
62
        Row row = sheet.getRow(0);
63
        Row row = sheet.getRow(0);
63
        Cell cell = row.getCell((short) 0);
64
        Cell cell = row.getCell((short) 0);
64
        CellStyle style = cell.getCellStyle();
65
        CellStyle style = cell.getCellStyle();
65
        // assertNotNull(style);
66
        // assertNotNull(style);
66
    }
67
    }
67
    
68
69
    // TODO filename string hard coded in XSSFWorkbook constructor in order to make ant test-ooxml target be successfull.
68
    public void testLoadPictures() throws Exception {
70
    public void testLoadPictures() throws Exception {
69
        XSSFWorkbook workbook = new XSSFWorkbook(new File(filename, "picture.xlsx").getAbsolutePath());
71
        XSSFWorkbook workbook = new XSSFWorkbook(new File("src/ooxml/testcases/org/apache/poi/xssf/data", "picture.xlsx").getAbsolutePath());
70
        List<PictureData> pictures = workbook.getAllPictures();
72
        List<PictureData> pictures = workbook.getAllPictures();
71
        assertEquals(1, pictures.size());
73
        assertEquals(1, pictures.size());
72
    }
74
    }

Return to bug 44480