tracker issue : CF-3981800

select a category, or use search below
(searches all categories and all time range)
Title:

SpreadsheetFormatRow() throws ColdFusion error after JVM 1.7 is updated.

| View in Tracker

Status/Resolution/Reason: Closed/Withdrawn/UserError

Reporter/Name(from Bugbase): James Moberg / James Moberg (James Moberg)

Created: 05/05/2015

Components: Document Management, Office Integration

Versions: 10.0

Failure Type: Non Functioning

Found In Build/Fixed In Build: Final /

Priority/Frequency: Critical / Some users will encounter

Locale/System: English / Win 2008 Server R2

Vote Count: 0

Problem Description: I upgraded JVM1.7 to u80 since it *should* work with ColdFusion 9, 10 & 11.  When running the sample Adobe code (minus the syntax errors), it doesn't work.  There are probably many other issues too, but this is the first that I found within minutes of upgrading the JVM.

Steps to Reproduce: Run the official sample code (after correcting the syntax errors)
http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-676f.html
https://wikidocs.adobe.com/wiki/display/coldfusionen/SpreadsheetFormatRow

Actual Result:
No spreadsheet... instant crash with "org.apache.poi.hssf.util.HSSFColor.getIndexHash()Ljava/util/Hashtable" error.

Expected Result:
A stylized row in the spreadsheet.

Any Workarounds:
1) Downgrade JVM until you identify one that works with ColdFusion's built-in functions (Not sure which one this is. I know u15 works.)
or
2) Avoid using built-in functions and use Ben Nadel's POIUtility.cfc https://github.com/bennadel/POIUtility.cfc
or possibly...
3) POIUtility.cfc only uses the following colors.  Since the error indicates "Hashtable", is it possible that only uppercase colors that match this list of Excel colors are allowed?  (Colors: AQUA, BLACK, BLUE, BLUE_GREY, BRIGHT_GREEN, BROWN, CORAL, CORNFLOWER_BLUE, DARK_BLUE, DARK_GREEN, DARK_RED, DARK_TEAL, DARK_YELLOW, GOLD, GREEN, GREY_25_PERCENT, GREY_40_PERCENT, GREY_50_PERCENT, GREY_80_PERCENT, INDIGO, LAVENDER, LEMON_CHIFFON, LIGHT_BLUE, LIGHT_CORNFLOWER_BLUE, LIGHT_GREEN, LIGHT_ORANGE, LIGHT_TURQUOISE, LIGHT_YELLOW, LIME, MAROON, OLIVE_GREEN, ORANGE, ORCHID, PALE_BLUE, PINK, PLUM, RED, ROSE, ROYAL_BLUE, SEA_GREEN, SKY_BLUE, TAN, TEAL, TURQUOISE, VIOLET, WHITE, YELLOW)

----------------------------- Additional Watson Details -----------------------------

Watson Bug ID:	3981800

External Customer Info:
External Company:  
External Customer Name: James
External Customer Email:  
External Test Config: My Hardware and Environment details:

ColdFusion 10,292620 64bit

Java 1.7u80

Windows Server 2008 R2

Attachments:

Comments:

This problem also exists on ColdFusion 9 and possibly ColdFusion 11. Please test this function and related spreadsheet functions to certify whether they function properly with Java 1.7uXX.
Comment by External U.
7653 | May 05, 2015 10:11:05 AM GMT
I upgraded to CF 10,0,16,293499 thinking that maybe this issue was fixed. (Bug #CF-3158250) https://bugbase.adobe.com/index.cfm?event=bug&id=CF-3158250 I thought it may be due to the color "dark_blue;" (semi-color in color), but it's not. I upper-cased all colors too and that didn't work either. I removed everything except the font specification and that throws an error too. (org.apache.poi.ss.usermodel.Font.getCharSet()B)
Comment by External U.
7654 | May 05, 2015 10:21:28 AM GMT
James, I am unable to reproduce the issue on CF10,0,16,293499 and CF11,0,05,293506 ( on Win7 x64, JDK 1.7.0_80 ) with the test code in the wiki page mentioned in the bug report. Can you pls. share the complete stack trace of the error message? Can you narrow it down to an attribute, or are you saying that it throws the error with any formatting attribute? Can you try that without the font attribute as well?
Comment by Piyush K.
7655 | May 13, 2015 03:07:57 AM GMT
Sorry. I discovered this was due to using POI 3.9 (12/2012) versus CF10's POI 3.6beta1 from 12/2009. Using 3.9 fixed some other bugs (cloning worksheet 1's column widths and overriding all other worksheets, span issues, etc) Are there any plans to integrate a newer version of POI? https://poi.apache.org/changes.html If not, any links to third-party examples on how to use new POI without modifying built-in CFSpreadsheet functions?
Comment by External U.
7656 | May 13, 2015 12:23:32 PM GMT
James, Thanks for the confirmation. CF11 uses POI v3.9. CF10 used an earlier version.
Comment by Piyush K.
7657 | June 21, 2015 04:45:55 AM GMT