[bug-65464] fix issue where shared formulas can be corrupted. Thanks to Nico Seegert

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1891962 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
PJ Fanning 2021-08-02 17:22:13 +00:00
parent cceb910254
commit eecb44281e
1 changed files with 5 additions and 1 deletions

View File

@ -4625,7 +4625,11 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
if(nextCell != null && nextCell != cell && nextCell.getCellType() == CellType.FORMULA) { if(nextCell != null && nextCell != cell && nextCell.getCellType() == CellType.FORMULA) {
CTCellFormula nextF = nextCell.getCTCell().getF(); CTCellFormula nextF = nextCell.getCTCell().getF();
nextF.setStringValue(nextCell.getCellFormula(evalWb)); nextF.setStringValue(nextCell.getCellFormula(evalWb));
nextF.setT(STCellFormulaType.SHARED); //https://bz.apache.org/bugzilla/show_bug.cgi?id=65464 //https://bz.apache.org/bugzilla/show_bug.cgi?id=65464
nextF.setT(STCellFormulaType.SHARED);
if (!nextF.isSetSi()) {
nextF.setSi(f.getSi());
}
CellRangeAddress nextRef = new CellRangeAddress( CellRangeAddress nextRef = new CellRangeAddress(
nextCell.getRowIndex(), ref.getLastRow(), nextCell.getRowIndex(), ref.getLastRow(),
nextCell.getColumnIndex(), ref.getLastColumn()); nextCell.getColumnIndex(), ref.getLastColumn());