Fix for reading row with no cells
git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/branches/REL_1_5_BRANCH@352512 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
e2803297ec
commit
c2912a8a68
|
@ -318,6 +318,9 @@ public class HSSFRow
|
|||
|
||||
public short getFirstCellNum()
|
||||
{
|
||||
if (getPhysicalNumberOfCells() == 0)
|
||||
return -1;
|
||||
else
|
||||
return row.getFirstCol();
|
||||
}
|
||||
|
||||
|
@ -328,6 +331,9 @@ public class HSSFRow
|
|||
|
||||
public short getLastCellNum()
|
||||
{
|
||||
if (getPhysicalNumberOfCells() == 0)
|
||||
return -1;
|
||||
else
|
||||
return row.getLastCol();
|
||||
}
|
||||
|
||||
|
|
|
@ -55,7 +55,10 @@
|
|||
package org.apache.poi.hssf.usermodel;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
import org.apache.poi.hssf.record.RowRecord;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
|
||||
/**
|
||||
* Test HSSFRow is okay.
|
||||
|
@ -87,15 +90,10 @@ public class TestHSSFRow
|
|||
assertEquals(1, row.getFirstCellNum());
|
||||
assertEquals(2, row.getLastCellNum());
|
||||
|
||||
RowRecord rowRecord = new RowRecord();
|
||||
rowRecord.setFirstCol((short) 2);
|
||||
rowRecord.setLastCol((short) 5);
|
||||
row = new HSSFRow(workbook.getWorkbook(), sheet.getSheet(), rowRecord);
|
||||
assertEquals(2, row.getFirstCellNum());
|
||||
assertEquals(5, row.getLastCellNum());
|
||||
}
|
||||
|
||||
public void testRemoveCell()
|
||||
throws Exception
|
||||
{
|
||||
HSSFWorkbook workbook = new HSSFWorkbook();
|
||||
HSSFSheet sheet = workbook.createSheet();
|
||||
|
@ -121,5 +119,18 @@ public class TestHSSFRow
|
|||
assertEquals(0, data[6]);
|
||||
assertEquals(0, data[8]);
|
||||
|
||||
File file = File.createTempFile("XXX", "XLS");
|
||||
FileOutputStream stream = new FileOutputStream(file);
|
||||
workbook.write(stream);
|
||||
stream.close();
|
||||
FileInputStream inputStream = new FileInputStream(file);
|
||||
workbook = new HSSFWorkbook(inputStream);
|
||||
sheet = workbook.getSheetAt(0);
|
||||
stream.close();
|
||||
file.delete();
|
||||
assertEquals(-1, sheet.getRow((short) 0).getLastCellNum());
|
||||
assertEquals(-1, sheet.getRow((short) 0).getFirstCellNum());
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue