You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@poi.apache.org by bu...@apache.org on 2003/02/12 10:28:57 UTC
DO NOT REPLY [Bug 16985] New: -
Problems with POI-created formula cells
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16985>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16985
Problems with POI-created formula cells
Summary: Problems with POI-created formula cells
Product: POI
Version: unspecified
Platform: PC
OS/Version: Windows NT/2K
Status: NEW
Severity: Normal
Priority: Other
Component: HSSF
AssignedTo: poi-dev@jakarta.apache.org
ReportedBy: lucabilli@grupposervizi.it
I'm using jakarta-poi-1.9.0-dev-20030122.
If I create a workbook containing formulas and then I try to call
cell.getNumericCellValue on formula cells, returns 0.0
(the same happens if I save the workbook on disk and then I read it again with
POI)
If I open such a workbook with Excel2000, it works, but when I try to close the
document (without any manual change), Excel prompts me with a question: "Do you
want to save the changes you made to POI.xls? Microsoft Excel recalculates
formulas when opening files last saved by an earlier version of Excel".
Now, if I say "yes", and I read the newly saved workbook with POI, the
cell.getNumericCellValue on formula cells returns the correct value.
Here I put a short Java code presenting the problem, then I will attach two
very simple xls (POI.xls and Excel.xls), the first created with POI and
containing a formula cell that is not calculated by POI when asked to, the
latter is the Excel saved version of the same workbook (it is quite bigger than
the original).
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sh = wb.createSheet("Sheet");
HSSFRow row = sh.createRow((short) 0);
HSSFCell cell = row.createCell((short) 0);
cell.setCellValue(3.18);
cell = row.createCell((short) 1);
cell.setCellFormula("A1");
//wb.write(new FileOutputStream("POI.xls"));
//wb = new HSSFWorkbook(new FileInputStream("POI.xls"));
//cell = wb.getSheet("Sheet").getRow(0).getCell((short) 1);
System.out.println(cell.getCellFormula());
System.out.println(cell.getNumericCellValue());
This prints out:
A1
0.0
The same happens if you uncomment the three commented lines
By the way, since I know that formulas are under development, today I wanted to
download the last nightly release before submitting this bug, but I found the
nightly directory is empty ...