DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=21923>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=21923 [PATCH] Modify HSSFWorkbook, FormulaParser and SheetReferences to support 3DRefs Summary: [PATCH] Modify HSSFWorkbook, FormulaParser and SheetReferences to support 3DRefs Product: POI Version: 2.0-pre3 Platform: All OS/Version: All Status: NEW Severity: Enhancement Priority: Other Component: HSSF AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] This patch modifies HSSFWorkbook, FormulaParser and SheetReferences to allow sheet references to be captured from HSSFWorkbook (new method getSheetReferences, which mirrors Workbook.getSheetReferences()) and passed into the FormulaParser (new methods getSheetReferences() and setSheetReferences()). I purposefully didn't add a new constructor for FormulaParser(String, SheetReferences) because of the common practice up to now of just calling 'new FormulaParser(formula, null)' (null for the workbook). That call produces an ambiguous call error. Instead I added the setSheetReferences, so the typical way to call it now would be something like: POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(file)); HSSFWorkbook wb = new HSSFWorkbook(fs); HSSFSheet sheet = wb.getSheetAt(0); HSSFRow row = sheet.getRow(0); SheetReferneces refs = wb.getSheetReferences(); FormulaParser fp = new FormulaParser(formula, null); fp.setSheetReferences(refs); fp.parse(); Also, modifications to FormulaParser were required to check whether to get the sheet numbers from the workbook, if valid, or the sheet references, if supplied. This also required a new method getSheetIndex() in SheetReferences (the counterpart to getSheetName()). A unit test was added to TestSheetReferences to test the reverse lookups. Unit tests weren't added yet to test the advanced formula parsing, as I'm not that up on JUnit yet, but if anyone has an pointers, I'm all ears. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
