I need to display a value in an excel cell formatted like a percentage, e.g. like 12.3%
.
By default the value is displayed as Text, but I need to display it as a number.
What is the appropriate method to achieve this?
Apache POI is a popular API that allows programmers to create, modify, and display MS Office files using Java programs. It is an open source library developed and distributed by Apache Software Foundation to design or modify Microsoft Office files using Java program.
Apache POI is a 100% open source library provided by Apache Software Foundation. Most of the small and medium scale application developers depend heavily on Apache POI (HSSF + XSSF). It supports all the basic features of Excel libraries; however, rendering and text extraction are its main features.
You need to:
Something like:
cell.setCellValue(0.123); // set value as number CellStyle style = workbook.createCellStyle(); style.setDataFormat(workbook.createDataFormat().getFormat("0.000%")); cell.setCellStyle(style);
Take a look at user defined formats section of POI quick guide for more details. You may also want to go through the examples which show how to use different POI capabilities.
POI has built-in formats check this link first
and check this link for example
For percentage, it will be something like this
dataCell.setCellValue(.12) CellStyle stylePercentage = workbook.createCellStyle(); stylePercentage.setDataFormat(workbook.createDataFormat() .getFormat(BuiltinFormats.getBuiltinFormat( 10 ))); dataCell.setCellStyle(stylePercentage);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With