import java.io.IOException;
+import org.apache.poi.ss.SpreadsheetVersion;
import org.apache.poi.ss.usermodel.BaseTestSheet;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
} finally {
wb.close();
}
+ }
+ @Test
+ public void createRowAfterLastRow() {
+ createRowAfterLastRow(SpreadsheetVersion.EXCEL2007);
}
}
import org.apache.poi.hssf.HSSFTestDataSamples;
import org.apache.poi.poifs.crypt.CryptoFunctions;
import org.apache.poi.poifs.crypt.HashAlgorithm;
+import org.apache.poi.ss.SpreadsheetVersion;
import org.apache.poi.ss.usermodel.AutoFilter;
import org.apache.poi.ss.usermodel.BaseTestSheet;
import org.apache.poi.ss.usermodel.Cell;
assertEquals(3, xrow[2].getR());
}
+
+ @Test
+ public void createRowAfterLastRow() {
+ createRowAfterLastRow(SpreadsheetVersion.EXCEL2007);
+ }
@Test
public void setAutoFilter() {
import org.apache.poi.hssf.record.WindowTwoRecord;
import org.apache.poi.hssf.record.aggregates.WorksheetProtectionBlock;
import org.apache.poi.hssf.usermodel.RecordInspector.RecordCollector;
+import org.apache.poi.ss.SpreadsheetVersion;
import org.apache.poi.ss.formula.ptg.Area3DPtg;
import org.apache.poi.ss.formula.ptg.Ptg;
import org.apache.poi.ss.usermodel.AutoFilter;
public TestHSSFSheet() {
super(HSSFITestDataProvider.instance);
}
-
+
+ @Test
+ public void createRowAfterLastRow() {
+ createRowAfterLastRow(SpreadsheetVersion.EXCEL97);
+ }
/**
* Test for Bugzilla #29747.
assertSame(row2_ovrewritten, row2_ovrewritten_ref);
assertEquals(100.0, row2_ovrewritten_ref.getCell(0).getNumericCellValue(), 0.0);
}
+
+ @Test
+ public void createRowBeforeFirstRow() {
+ final Workbook workbook = _testDataProvider.createWorkbook();
+ final Sheet sh = workbook.createSheet();
+ sh.createRow(0);
+ try {
+ sh.createRow(-1);
+ fail("Negative rows not allowed");
+ } catch (final IllegalArgumentException e) {
+ // expected
+ }
+ }
+
+ protected void createRowAfterLastRow(SpreadsheetVersion version) {
+ final Workbook workbook = _testDataProvider.createWorkbook();
+ final Sheet sh = workbook.createSheet();
+ sh.createRow(version.getLastRowIndex());
+ try {
+ sh.createRow(version.getLastRowIndex() + 1);
+ fail("Row number must be between 0 and " + version.getLastColumnIndex());
+ } catch (final IllegalArgumentException e) {
+ // expected
+ }
+ }
@Test