Bael 5200 numeric excel (#11594)
* Changes for Numeric Format * Update NumberCellValueUnitTest.java * Corrected the workbook format * Unwanted change removed * Corrected the spell issue * Update NumberCellValueUnitTest.java * Fixed review comment * Update NumberCellValueUnitTest.java
This commit is contained in:
parent
b9cc959bed
commit
9b905cef77
@ -0,0 +1,19 @@
|
|||||||
|
package com.baeldung.poi.excel.newcolumn.numeric;
|
||||||
|
|
||||||
|
import org.apache.poi.ss.usermodel.Cell;
|
||||||
|
import org.apache.poi.ss.usermodel.CellStyle;
|
||||||
|
import org.apache.poi.ss.usermodel.DataFormat;
|
||||||
|
import org.apache.poi.ss.usermodel.Row;
|
||||||
|
import org.apache.poi.ss.usermodel.Workbook;
|
||||||
|
|
||||||
|
public class ExcelNumericFormat {
|
||||||
|
|
||||||
|
public static void applyNumericFormat(Workbook outWorkbook, Row row, Cell cell, Double value, String styleFormat) {
|
||||||
|
CellStyle style = outWorkbook.createCellStyle();
|
||||||
|
DataFormat format = outWorkbook.createDataFormat();
|
||||||
|
style.setDataFormat(format.getFormat(styleFormat));
|
||||||
|
cell.setCellValue(value);
|
||||||
|
cell.setCellStyle(style);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,105 @@
|
|||||||
|
package com.baeldung.poi.excel.newcolumn.numeric;
|
||||||
|
|
||||||
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||||
|
import org.apache.poi.ss.usermodel.Cell;
|
||||||
|
import org.apache.poi.ss.usermodel.Row;
|
||||||
|
import org.apache.poi.ss.usermodel.Sheet;
|
||||||
|
import org.apache.poi.ss.usermodel.Workbook;
|
||||||
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.jupiter.api.Assertions;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.text.DecimalFormat;
|
||||||
|
|
||||||
|
public class NumberCellValueUnitTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void decimalDisplay_whenAddedDouble_thenNumericCellCreated() throws IOException {
|
||||||
|
File file = new File("number_test.xlsx");
|
||||||
|
try (Workbook outWorkbook = new XSSFWorkbook()) {
|
||||||
|
Sheet sheet = outWorkbook.createSheet("Numeric Sheet");
|
||||||
|
Row row = sheet.createRow(0);
|
||||||
|
Cell cell = row.createCell(0);
|
||||||
|
ExcelNumericFormat.applyNumericFormat(outWorkbook, row, cell, 10.251, "0.00");
|
||||||
|
FileOutputStream fileOut = new FileOutputStream(file);
|
||||||
|
outWorkbook.write(fileOut);
|
||||||
|
fileOut.close();
|
||||||
|
}
|
||||||
|
try (Workbook inWorkbook = new XSSFWorkbook("number_test.xlsx")) {
|
||||||
|
Sheet sheet = inWorkbook.cloneSheet(0);
|
||||||
|
Row row = sheet.getRow(0);
|
||||||
|
Assertions.assertEquals(10.251, row.getCell(0)
|
||||||
|
.getNumericCellValue());
|
||||||
|
file.delete();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void decimalRoundedDisplay_whenAddedDouble_thenNumericCellCreated() throws IOException {
|
||||||
|
File file = new File("number_test.xlsx");
|
||||||
|
try (Workbook outWorkbook = new XSSFWorkbook()) {
|
||||||
|
Sheet sheet = outWorkbook.createSheet("Numeric Sheet");
|
||||||
|
Row row = sheet.createRow(0);
|
||||||
|
Cell cell = row.createCell(0);
|
||||||
|
ExcelNumericFormat.applyNumericFormat(outWorkbook, row, cell, 10.251123, "#,##0.0000");
|
||||||
|
FileOutputStream fileOut = new FileOutputStream(file);
|
||||||
|
outWorkbook.write(fileOut);
|
||||||
|
fileOut.close();
|
||||||
|
}
|
||||||
|
try (Workbook inWorkbook = new XSSFWorkbook("number_test.xlsx")) {
|
||||||
|
Sheet sheet = inWorkbook.cloneSheet(0);
|
||||||
|
Row row = sheet.getRow(0);
|
||||||
|
Assertions.assertEquals(10.251123, row.getCell(0)
|
||||||
|
.getNumericCellValue());
|
||||||
|
file.delete();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void decimalDisplayInXLS_whenAddedDouble_thenNumericCellCreated() throws IOException {
|
||||||
|
File file = new File("number_test.xls");
|
||||||
|
try (Workbook outWorkbook = new HSSFWorkbook()) {
|
||||||
|
Sheet sheet = outWorkbook.createSheet("Numeric Sheet");
|
||||||
|
Row row = sheet.createRow(0);
|
||||||
|
Cell cell = row.createCell(0);
|
||||||
|
ExcelNumericFormat.applyNumericFormat(outWorkbook, row, cell, 10.251, "0.00");
|
||||||
|
FileOutputStream fileOut = new FileOutputStream(file);
|
||||||
|
outWorkbook.write(fileOut);
|
||||||
|
fileOut.close();
|
||||||
|
}
|
||||||
|
try (Workbook inWorkbook = new HSSFWorkbook(new FileInputStream(file))) {
|
||||||
|
Sheet sheet = inWorkbook.cloneSheet(0);
|
||||||
|
Row row = sheet.getRow(0);
|
||||||
|
Assertions.assertEquals(10.251, row.getCell(0)
|
||||||
|
.getNumericCellValue());
|
||||||
|
file.delete();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void decimalValue_whenAddedDouble_thenNumericCellCreated() throws IOException {
|
||||||
|
File file = new File("number_test.xlsx");
|
||||||
|
try (Workbook outWorkbook = new XSSFWorkbook()) {
|
||||||
|
Sheet sheet = outWorkbook.createSheet("Numeric Sheet");
|
||||||
|
Row row = sheet.createRow(0);
|
||||||
|
Cell cell = row.createCell(0);
|
||||||
|
DecimalFormat df = new DecimalFormat("#,###.##");
|
||||||
|
ExcelNumericFormat.applyNumericFormat(outWorkbook, row, cell, Double.valueOf(df.format(10.251)), "#,###.##");
|
||||||
|
|
||||||
|
FileOutputStream fileOut = new FileOutputStream(file);
|
||||||
|
outWorkbook.write(fileOut);
|
||||||
|
fileOut.close();
|
||||||
|
}
|
||||||
|
try (Workbook inWorkbook = new XSSFWorkbook("number_test.xlsx")) {
|
||||||
|
Sheet sheet = inWorkbook.cloneSheet(0);
|
||||||
|
Row row = sheet.getRow(0);
|
||||||
|
Assertions.assertEquals(10.25, row.getCell(0)
|
||||||
|
.getNumericCellValue());
|
||||||
|
file.delete();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -2,7 +2,6 @@ package com.baeldung.poi.excel.multilinetext;
|
|||||||
|
|
||||||
import org.apache.poi.ss.usermodel.Cell;
|
import org.apache.poi.ss.usermodel.Cell;
|
||||||
import org.apache.poi.ss.usermodel.CellStyle;
|
import org.apache.poi.ss.usermodel.CellStyle;
|
||||||
import org.apache.poi.ss.usermodel.Row;
|
|
||||||
|
|
||||||
public class MultilineText {
|
public class MultilineText {
|
||||||
public void formatMultilineText(Cell cell, int cellNumber) {
|
public void formatMultilineText(Cell cell, int cellNumber) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user