I agree - this is a seperate issue from your other post. But my advice is similar: "don't assume anything - carefully check each of your intermediate values carefully". For example:
HSSFRow targetRow = targetWorkSheet.getRow(row);
HSSFCell targetCell = targetRow.getCell((short) col);
HSSFRichTextString hsfData =
It might also be a "representation issue" - the actual value is probably stored in the cell as a "variant" (it can be any type), but it's displayed as whatever the cell is configured to display (by default, perhaps this might be "float").
If you print out "hsfData" (as a seperate value), at least you know it's correct before you put it into the cell. Then you might try "setCellStyle()" (or something like that) to see if that changes the way it appears.
Moreover, I'd strongly suggest writing a standalone Java/POI "hello world" with dummy data. Do this *before* you actually try to write your translator. I think having the standalone test program will make life *much* easier for you as you attempt to troubleshoot your actual project.
IMHO .. PSM
Here's a good link that might help with your POI "hello world":