Author: jheight Date: Mon Aug 28 05:18:10 2006 New Revision: 437684 URL: http://svn.apache.org/viewvc?rev=437684&view=rev Log: bug 31044: Corrected parsing of references which contain double sheet names ie 'Sheet 1'!F1:'Sheet 1'!F10.
Although i have hacked it a bit such that it gets translated to 'Sheet 1'!F1:F10 Modified: jakarta/poi/trunk/src/java/org/apache/poi/hssf/model/FormulaParser.java Modified: jakarta/poi/trunk/src/java/org/apache/poi/hssf/model/FormulaParser.java URL: http://svn.apache.org/viewvc/jakarta/poi/trunk/src/java/org/apache/poi/hssf/model/FormulaParser.java?rev=437684&r1=437683&r2=437684&view=diff ============================================================================== --- jakarta/poi/trunk/src/java/org/apache/poi/hssf/model/FormulaParser.java (original) +++ jakarta/poi/trunk/src/java/org/apache/poi/hssf/model/FormulaParser.java Mon Aug 28 05:18:10 2006 @@ -290,8 +290,19 @@ if (look == ':') { Match(':'); String second=GetName(); - - tokens.add(new Area3DPtg(first+":"+second,externIdx)); + if (look == '!') { + //The sheet name was included in both of the areas. Only really + //need it once + Match('!'); + String third=GetName(); + + if (!sheetName.equals(second)) + throw new RuntimeException("Unhandled double sheet reference."); + + tokens.add(new Area3DPtg(first+":"+third,externIdx)); + } else { + tokens.add(new Area3DPtg(first+":"+second,externIdx)); + } } else { tokens.add(new Ref3DPtg(first,externIdx)); } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] Mailing List: http://jakarta.apache.org/site/mail2.html#poi The Apache Jakarta POI Project: http://jakarta.apache.org/poi/