aboutsummaryrefslogtreecommitdiffstats
path: root/src/ooxml/java
diff options
context:
space:
mode:
authorYegor Kozlov <yegor@apache.org>2009-04-24 18:25:19 +0000
committerYegor Kozlov <yegor@apache.org>2009-04-24 18:25:19 +0000
commit8363279282f5219f05f18374566509357b1d080d (patch)
tree9f81e89bc2bce25e522c82ed03db5b2f9c097e76 /src/ooxml/java
parent67ba7a20983ea00fbcfd7e06037ea67ca9c881e6 (diff)
downloadpoi-8363279282f5219f05f18374566509357b1d080d.tar.gz
poi-8363279282f5219f05f18374566509357b1d080d.zip
fixed XSSFWorkbook.createSheet to properly increment sheetId when sheetId sequence is not continious
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@768389 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/ooxml/java')
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java
index 1648ac86f3..c288354898 100644
--- a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java
+++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java
@@ -453,7 +453,9 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook, Iterable<X
CTSheet sheet = addSheet(sheetname);
- int sheetNumber = getNumberOfSheets() + 1;
+ int sheetNumber = 1;
+ for(XSSFSheet sh : sheets) sheetNumber = (int)Math.max(sh.sheet.getSheetId() + 1, sheetNumber);
+
XSSFSheet wrapper = (XSSFSheet)createRelationship(XSSFRelation.WORKSHEET, XSSFFactory.getInstance(), sheetNumber);
wrapper.sheet = sheet;
sheet.setId(wrapper.getPackageRelationship().getId());