I am having 2 problems when attempting to remove merged regions:
1) If there is more than 1 merged region in a sheet, and I try to remove all
of them, one merged region always remains:
int numRegions = sheet.getNumMergedRegions();
System.out.println("Initial number of merged regions: " +
numRegions);
for (int regionNum = 0; regionNum < numRegions; regionNum++)
{
sheet.removeMergedRegion(regionNum);
System.out.println("Removed region: "+ regionNum);
}
System.out.println("Final number of merged regions: " + numRegions);
If I run the above code, the number of merged region remaining is
1.
2) If I clone a sheet with merged regions and delete the merged regions in
the clone them I not only get problem 1, but also exceptions:
java.lang.IndexOutOfBoundsException: Index: 1, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:507)
at java.util.ArrayList.remove(ArrayList.java:392)
at
org.apache.poi.hssf.record.MergeCellsRecord.removeAreaAt(MergeCellsRecord.ja
va:188)
at org.apache.poi.hssf.model.Sheet.removeMergedRegion(Sheet.java:496)
at
org.apache.poi.hssf.usermodel.HSSFSheet.removeMergedRegion(HSSFSheet.java:56
4)
at
org.apache.poi.hssf.usermodel.eq.HSSFUtil.removeAllRegionsFromSheet(HSSFUtil
.java:252)
at
org.apache.poi.hssf.usermodel.examples.ReadWriteWorkbook.main(ReadWriteWorkb
ook.java:147)
Exception in thread "main" Process terminated with exit code 1
?????????
Gabriel Chan
Programmer Analyst
#202, 12315 Stony Plain Road
Edmonton Alberta
Canada T5N 3Y8
Telephone (780) 437-3020
Fax (780) 462-6984
Toll Free: 1-800-661-3306