I am using Apache POI-HSSF for working with Excel files.
I have a cell in my spreadsheet that looks like “115”. I verified that it is formatted as “Text” (Format Cells -> Text).
However, when I read it in as
row.getCell(0).toString()
I get this string: “115.0”
This is incorrect. I should be getting “115” since it’s explicitly formatted as Text. How can I get the desired result? The cell can be anything, numbers or characters, and I expect the same string as in the cell. Thanks
Formatted as text does not mean stored as text, they’re different. Excel has stored your cell as a number, and when you ask POI for the cell you get a numeric cell back.
If you ask the cell you get back what type it is, you’ll discover it’s of type CELL_TYPE_NUMERIC and not CELL_TYPE_STRING
What you’ll likely want to do is use the DataFormatter class to have your cell formatted as per Excel. It’ll then look like you expect. (As will cells formatted as currency, percentages etc too)