|Summary:||Writing Formula to Excel workbook - mutliple paste formula|
|Product:||POI||Reporter:||Austin Gaughan <gaughana>|
|Component:||HSSF||Assignee:||POI Developers List <dev>|
Original Excel workbook
Output Excel written by POI
Description Austin Gaughan 2003-03-25 10:42:41 UTC
I think this bug is related to 15223 but I am logging it again because I think I have a bit more detail. This appears to be one of those obscure bugs that only appears under certain circumstances. I am reading an existing Excel workbook (excel.xls), amending some values (omitted from the test case) and writing out the resultant workbook (poi.xls). In Excel creating the original workbook, I have entered two rows of numbers. I have also defined a summation row. I declare a formula for a cell, copy it then :- 1) paste it individually to any number of subsequent cells across a row the workbook is written out correctly 2) paste it simultaneously to up to 5 subsequent cells in the row the workbook is written out correctly 3) paste it simultaneously to more than 5 subsequent cells in the row the original formula cell is OK but the others have #REF! error and when the workbook is opened in Excel you get the error "File error: data may have been lost." Test Case --------- String filename = "Excel.xls" ; FileInputStream fis = new FileInputStream( filename ); POIFSFileSystem fs = new POIFSFileSystem( fis ); HSSFWorkbook wb = new HSSFWorkbook( fs ); FileOutputStream fos = new FileOutputStream( "Poi.xls" ); wb.write( fos ); fos.close(); Environment ----------- POI : jakarta-poi-1.11.0-dev-20030324.jar Java : 1.4.1 b21 Excel : 2002 SP-2 OS : XP 5.1.2600
Comment 1 Austin Gaughan 2003-03-25 10:49:15 UTC
Created attachment 5490 [details] Original Excel workbook
Comment 2 Austin Gaughan 2003-03-25 10:49:58 UTC
Created attachment 5492 [details] Output Excel written by POI
Comment 3 Andy Oliver 2003-07-24 16:00:46 UTC
I think I know why...This looks like something Avik or Glen (which one?) worked on awhile bakc...
Comment 4 Austin Gaughan 2003-07-25 09:21:00 UTC
Is there a fix for it?
Comment 5 Danny Mui 2003-07-25 15:20:45 UTC
this looks like a shared formula which we added to release_2_branch..can u verify with 2.0pre2
Comment 6 Tushar Kapila 2005-09-19 13:05:27 UTC
A workaround I used is: split the formula across multiple cells; use something like =IF((BH4>BX4),BH4,0)*IF(BK4>BX4,BK4,0) instead of =IF((BH4<>""),IF (BK4<>"",BH4*BK4,0),0)
Comment 7 Jason Height 2006-07-25 14:29:01 UTC
Shared Formula support now in SVN. Marking as fixed.