Browse Source

Bug 56644: Fix adding cells if MissingCellPolicy is set to NULL_FOR_BLANK and the last column in a row is empty

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1647291 13f79535-47bb-0310-9956-ffa450edef68
tags/REL_3_12_BETA1
Dominik Stadler 9 years ago
parent
commit
cf1558116f

+ 2
- 1
src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCell.java View File

import org.apache.poi.ss.usermodel.FormulaError; import org.apache.poi.ss.usermodel.FormulaError;
import org.apache.poi.ss.usermodel.Hyperlink; import org.apache.poi.ss.usermodel.Hyperlink;
import org.apache.poi.ss.usermodel.RichTextString; import org.apache.poi.ss.usermodel.RichTextString;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.ss.util.CellReference; import org.apache.poi.ss.util.CellReference;
import org.apache.poi.util.Internal; import org.apache.poi.util.Internal;
} else { } else {
int prevNum = row.getLastCellNum(); int prevNum = row.getLastCellNum();
if(prevNum != -1){ if(prevNum != -1){
_cellNum = row.getCell(prevNum-1).getColumnIndex() + 1;
_cellNum = row.getCell(prevNum-1, Row.RETURN_NULL_AND_BLANK).getColumnIndex() + 1;
} }
} }
_sharedStringSource = row.getSheet().getWorkbook().getSharedStringSource(); _sharedStringSource = row.getSheet().getWorkbook().getSharedStringSource();

+ 36
- 0
src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFCell.java View File



XSSFTestDataSamples.writeOutAndReadBack(wb); XSSFTestDataSamples.writeOutAndReadBack(wb);
} }

public void testBug56644ReturnNull() throws IOException {
Workbook wb = XSSFTestDataSamples.openSampleWorkbook("56644.xlsx");
try {
wb.setMissingCellPolicy(Row.RETURN_BLANK_AS_NULL);
Sheet sheet = wb.getSheet("samplelist");
Row row = sheet.getRow(20);
row.createCell(2);
} finally {
wb.close();
}
}

public void testBug56644ReturnBlank() throws IOException {
Workbook wb = XSSFTestDataSamples.openSampleWorkbook("56644.xlsx");
try {
wb.setMissingCellPolicy(Row.RETURN_NULL_AND_BLANK);
Sheet sheet = wb.getSheet("samplelist");
Row row = sheet.getRow(20);
row.createCell(2);
} finally {
wb.close();
}
}

public void testBug56644CreateBlank() throws IOException {
Workbook wb = XSSFTestDataSamples.openSampleWorkbook("56644.xlsx");
try {
wb.setMissingCellPolicy(Row.CREATE_NULL_AS_BLANK);
Sheet sheet = wb.getSheet("samplelist");
Row row = sheet.getRow(20);
row.createCell(2);
} finally {
wb.close();
}
}
} }

BIN
test-data/spreadsheet/56644.xlsx View File


Loading…
Cancel
Save