https://issues.apache.org/bugzilla/show_bug.cgi?id=47493

           Summary: HSSFCell.setCellValue(String value) &
                    HSSFRichTextString
           Product: POI
           Version: 3.2-FINAL
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: major
          Priority: P2
         Component: HSSF
        AssignedTo: [email protected]
        ReportedBy: [email protected]


The now deprecated method HSSFCell.setCellValue(String value)
has been changed to call the new method setCellValue(HSSFRichTextString value)
with a HSSFRichTextString Object.

The problem with that, is that a null String gets replaced with
a HSSFRichTextString Object with the value "" (i.e. length 0).

This broke our application, which I have fixed by calling
setCellValue((HSSFRichTextString)null)

I believe the correct implementation of HSSFCell.setCellValue(String value)
should be:
if (value == null) {
setCellValue((HSSFRichTextString)null);
} else {
setCellValue(new HSSFRichTextString(value));
}

This would be much more likely to be backward compatible with existing code.
I'm sure others will be having this problem, but have maybe not yet noticed
the subtle difference in their reports.

Best regards,
DaveLaw

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to