I need to write a Double value in a numeric cell using a specific format, i mean, the generated xls must have numeric cells containing Double values like, for example: 8,1. I am trying something like:
DecimalFormat dFormat = new DecimalFormat("##.#");
dFormat.format(doubleValue);
But, since format method returns a String, no matter whether I create cells as numeric or not, they always behave as text cells. I was thinking about two options:
- Forcing cells to behave as numeric cells.
- Forgetting about DecimalFormat and use Double class specifying comma as the decimal separator, what i'm not sure it's possible.
Any idea?
I tried this working fine...
The output is a numeric value with desired format: 2,500.000
Do you need to put both values in one cell? Can you split them up into 2 columns? Excel has a built-in "Texts to Columns" function that you should be able to reference that will split an entire column of text strings into multiple columns based on a delimiter (like a comma). In VBA, it looks something like this:
As for your first proposed solution, it is not possible to force Excel to treat something as a number if it is not convertable to a number.
I may be missing something, but I think you just want to style the cell with a format rule to display a single decimal place
That will create a formatting rule, create a cell, set the cell to be the value 8.1, then style it