this does not appear to be a bug. reading the javadoc for Cell.setCellValue(
String )
value - value to set the cell to. For formulas, we'll set the formula string,
for String cells we'll set its value. For other types, we will change the cell
to a string cell and set its value. If value is null then we will change the
cell to a Blank cell.
<>Stanton Fisque
principal technologist
latticeware.com
portland, oregon
> On May 8, 2024, at 13:04 PM, bugzi...@apache.org wrote:
>
> https://bz.apache.org/bugzilla/show_bug.cgi?id=68985
>
>Bug ID: 68985
> Summary: Unable to edit cell type on excel file that was
>generated via Apache Poi API (edit)
> Product: POI
> Version: unspecified
> Hardware: PC
>Status: NEW
> Severity: normal
> Priority: P2
> Component: XSSF
> Assignee: dev@poi.apache.org
> Reporter: jengl...@xifin.com
> Target Milestone: ---
>
> To give a quick synopsis, I'm using Apache POI API to generate an excel file.
> After the file is generated, I am unable to apply formulas to the any of the
> modified rows. The reason appears to be related to the cell type of the cells,
> which cannot be updated after the file has generated. Even if I manually
> change
> the cell type of the cells via the Excel spreadsheet, the changes do not take
> effect.
>
> To reproduce, simply run the test below and open the generate excel file. If
> you manually add '=SUM(A1:A5)' to any cell to get the sum of the cells, you
> will notice that the formula is not calculating correctly.
>
> Any help would be greatly appreciated.
>
> Thank you
>
> import org.apache.poi.ss.usermodel.CellType;
> import org.apache.poi.xssf.usermodel.XSSFCell;
> import org.apache.poi.xssf.usermodel.XSSFRow;
> import org.apache.poi.xssf.usermodel.XSSFSheet;
> import org.apache.poi.xssf.usermodel.XSSFWorkbook;
>
> import java.io.FileOutputStream;
>
> public class TestExcelWriter
> {
>public static void main(String[] args) throws Exception
>{
>XSSFWorkbook workbook = new XSSFWorkbook();
>workbook.setForceFormulaRecalculation(true);
>XSSFSheet sheet = workbook.createSheet();
>
>int row = 0;
>String[] values = {"1.00", "2.00", "3.00", "4.00", "5.00",};
>for (String value : values)
>{
>XSSFRow newRow = sheet.createRow(row);
>XSSFCell newCell = newRow.createCell(0);
>newCell.setCellType(CellType.NUMERIC);
>newCell.setCellValue(value);
>row++;
>}
>
>FileOutputStream out = new FileOutputStream("outputFile.xlsx");
>workbook.write(out);
>out.close();
>}
> }
>
> --
> You are receiving this mail because:
> You are the assignee for the bug.
> -
> To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org
> For additional commands, e-mail: dev-h...@poi.apache.org
>