Author: centic
Date: Sat Jan 11 09:23:39 2025
New Revision: 1923053
URL: http://svn.apache.org/viewvc?rev=1923053&view=rev
Log:
Bug 58571: Add test which shows a workaround
Modified:
poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/eval/TestFormulaBugs.java
Modified:
poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/eval/TestFormulaBugs.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/eval/TestFormulaBugs.java?rev=1923053&r1=1923052&r2=1923053&view=diff
==============================================================================
---
poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/eval/TestFormulaBugs.java
(original)
+++
poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/eval/TestFormulaBugs.java
Sat Jan 11 09:23:39 2025
@@ -243,4 +243,30 @@ final class TestFormulaBugs {
CellValue value = evaluateFormulaInCell(wb, cell, formula);
assertEquals(expectedValue, value.getStringValue());
}
+
+ @Test
+ public void testFormula_58571() throws IOException {
+ try (Workbook wb = new HSSFWorkbook()) {
+ FormulaEvaluator eval =
wb.getCreationHelper().createFormulaEvaluator();
+
+ Sheet sheet = wb.createSheet("test");
+ Row row = sheet.createRow(0);
+ Cell cell = row.createCell(0);
+ // it seems the two double-quotes are replaced with one
double-quote when parsing the function
+ // this does not work: cell.setCellFormula("TEXT(B1, \"h\"\"h\"\"
m\"\"m\"\"\")");
+ cell.setCellFormula("TEXT(B1, \"h\"\"\"\"h\"\"\"\"
m\"\"\"\"m\"\"\"\"\")");
+
+ Cell cellValue = row.createCell(1);
+ cellValue.setCellValue(0.0104166666666666);
+
+ CellValue value = eval.evaluate(cell);
+ assertEquals(CellType.STRING, value.getCellType());
+ assertEquals("0h 15m", value.getStringValue());
+
+ cellValue.setCellValue(1.123);
+ value = eval.evaluate(cell);
+ assertEquals(CellType.STRING, value.getCellType());
+ assertEquals("0h 15m", value.getStringValue());
+ }
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]