diff --git a/apache-poi/src/main/java/com/baeldung/poi/excel/ReadCellValueNotFormulaHelper.java b/apache-poi/src/main/java/com/baeldung/poi/excel/read/cellvalueandnotformula/CellValueAndNotFormulaHelper.java similarity index 87% rename from apache-poi/src/main/java/com/baeldung/poi/excel/ReadCellValueNotFormulaHelper.java rename to apache-poi/src/main/java/com/baeldung/poi/excel/read/cellvalueandnotformula/CellValueAndNotFormulaHelper.java index f5117dcda9..20b154321e 100644 --- a/apache-poi/src/main/java/com/baeldung/poi/excel/ReadCellValueNotFormulaHelper.java +++ b/apache-poi/src/main/java/com/baeldung/poi/excel/read/cellvalueandnotformula/CellValueAndNotFormulaHelper.java @@ -1,4 +1,4 @@ -package com.baeldung.poi.excel; +package com.baeldung.poi.excel.read.cellvalueandnotformula; import java.io.File; import java.io.FileInputStream; @@ -13,20 +13,19 @@ import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.util.CellAddress; import org.apache.poi.xssf.usermodel.XSSFWorkbook; -public class ReadCellValueNotFormulaHelper { +public class CellValueAndNotFormulaHelper { public Object getCellValueByFetchingLastCachedValue(String fileLocation, String cellLocation) throws IOException { Object cellValue = new Object(); - FileInputStream inputStream = new FileInputStream(new File(fileLocation)); + FileInputStream inputStream = new FileInputStream(new File(fileLocation)); Workbook workbook = new XSSFWorkbook(inputStream); Sheet sheet = workbook.getSheetAt(0); - CellAddress cellReference = new CellAddress(cellLocation); - - Row row = sheet.getRow(cellReference.getRow()); - Cell cell = row.getCell(cellReference.getColumn()); + CellAddress cellAddress = new CellAddress(cellLocation); + Row row = sheet.getRow(cellAddress.getRow()); + Cell cell = row.getCell(cellAddress.getColumn()); if (cell.getCellType() == CellType.FORMULA) { switch (cell.getCachedFormulaResultType()) { @@ -37,8 +36,7 @@ public class ReadCellValueNotFormulaHelper { cellValue = cell.getNumericCellValue(); break; case STRING: - cellValue = cell.getRichStringCellValue() - .getString(); + cellValue = cell.getStringCellValue(); break; default: cellValue = null; @@ -51,8 +49,8 @@ public class ReadCellValueNotFormulaHelper { public Object getCellValueByEvaluatingFormula(String fileLocation, String cellLocation) throws IOException { Object cellValue; - FileInputStream inputStream = new FileInputStream(new File(fileLocation)); + FileInputStream inputStream = new FileInputStream(new File(fileLocation)); Workbook workbook = new XSSFWorkbook(inputStream); Sheet sheet = workbook.getSheetAt(0); @@ -60,7 +58,6 @@ public class ReadCellValueNotFormulaHelper { .createFormulaEvaluator(); CellAddress cellAddress = new CellAddress(cellLocation); - Row row = sheet.getRow(cellAddress.getRow()); Cell cell = row.getCell(cellAddress.getColumn()); diff --git a/apache-poi/src/test/java/com/baeldung/poi/excel/ReadCellValueNotFormulaUnitTest.java b/apache-poi/src/test/java/com/baeldung/poi/excel/ReadCellValueNotFormulaUnitTest.java deleted file mode 100644 index df7ab81874..0000000000 --- a/apache-poi/src/test/java/com/baeldung/poi/excel/ReadCellValueNotFormulaUnitTest.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.baeldung.poi.excel; - -import static org.junit.jupiter.api.Assertions.assertEquals; - -import java.io.IOException; -import java.net.URISyntaxException; -import java.nio.file.Paths; - -import org.junit.Before; -import org.junit.Test; - -public class ReadCellValueNotFormulaUnitTest { - - private ReadCellValueNotFormulaHelper readCellValueNotFormulaHelper; - private String fileLocation; - private static final String FILE_NAME = "test.xlsx"; - - @Before - public void setup() throws URISyntaxException { - fileLocation = Paths.get(ClassLoader.getSystemResource(FILE_NAME).toURI()).toString(); - readCellValueNotFormulaHelper = new ReadCellValueNotFormulaHelper(); - } - - @Test - public void testCachedValueMethod() throws IOException { - final double expectedResult = 7.0; - final Object cellValue = readCellValueNotFormulaHelper.getCellValueByFetchingLastCachedValue(fileLocation, "C2"); - - assertEquals(expectedResult, cellValue); - } - - @Test - public void testFormulaEvaluationMethod() throws IOException { - final double expectedResult = 7.0; - final Object cellValue = readCellValueNotFormulaHelper.getCellValueByEvaluatingFormula(fileLocation, "C2"); - - assertEquals(expectedResult, cellValue); - } -} diff --git a/apache-poi/src/test/java/com/baeldung/poi/excel/read/cellvalueandnotformula/CellValueAndNotFormulaUnitTest.java b/apache-poi/src/test/java/com/baeldung/poi/excel/read/cellvalueandnotformula/CellValueAndNotFormulaUnitTest.java new file mode 100644 index 0000000000..885a955e9b --- /dev/null +++ b/apache-poi/src/test/java/com/baeldung/poi/excel/read/cellvalueandnotformula/CellValueAndNotFormulaUnitTest.java @@ -0,0 +1,39 @@ +package com.baeldung.poi.excel.read.cellvalueandnotformula; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import java.io.IOException; +import java.net.URISyntaxException; +import java.nio.file.Paths; + +import org.junit.Before; +import org.junit.Test; + +public class CellValueAndNotFormulaUnitTest { + + private CellValueAndNotFormulaHelper readCellValueAndNotFormulaHelper; + private String fileLocation; + private static final String FILE_NAME = "test.xlsx"; + + @Before + public void setup() throws URISyntaxException { + fileLocation = Paths.get(ClassLoader.getSystemResource(FILE_NAME).toURI()).toString(); + readCellValueAndNotFormulaHelper = new CellValueAndNotFormulaHelper(); + } + + @Test + public void givenExcelCell_whenReadCellValueByLastCachedValue_thenProduceCorrectResult() throws IOException { + final double expectedResult = 7.0; + final Object cellValue = readCellValueAndNotFormulaHelper.getCellValueByFetchingLastCachedValue(fileLocation, "C2"); + + assertEquals(expectedResult, cellValue); + } + + @Test + public void givenExcelCell_whenReadCellValueByEvaluatingFormula_thenProduceCorrectResult() throws IOException { + final double expectedResult = 7.0; + final Object cellValue = readCellValueAndNotFormulaHelper.getCellValueByEvaluatingFormula(fileLocation, "C2"); + + assertEquals(expectedResult, cellValue); + } +}