2012-04-24 258 views
0

我想将公式frmo B5设置为B10004,公式取决于上一列的值。但是,公式应动态更新单元格引用适当使用POI指定excel列的公式

dvCarConstraint = 
    DVConstraint.createFormulaListConstraint(
     "INDIRECT(SUBSTITUTE($B$5, \" \", \"_\"))" 
    ); 

addressList = new CellRangeAddressList(4, 10004, 2, 2); 
dataValidation = new HSSFDataValidation(addressCarList, dvCarConstraint); 
dataValidation.setSuppressDropDownArrow(false); 
sheet.addValidationData(dataCarValidation); 

当我在列所有单元格打开Excel显示INDIRECT(SUBSTITUTE($B$5, " ", "_")),而我希望的是INDIRECT(SUBSTITUTE($B$6, " ", "_")), $B$7等等....

如何在POI中做这个?

+0

如果您在Excel中设置相同的东西,然后阅读POI中的文件,它显示的公式是什么? – Gagravarr 2012-04-24 11:27:46

回答

0

我不知道兴趣点,但在Excel中,如果你想要公式根据细胞位置更新,你离开$ -sign。你有没有试过INDIRECT(SUBSTITUTE($B5, " ", ""))

+0

我试过这个......它没有工作。 – 2012-04-24 11:18:27

0

我知道它的一个非常古老的问题,但对于谁是面临同样的问题也许可以使用此解决方案的其他人: -

我面临同样的问题,并试图达到这个这对我来说工作得很好某些组合后。

INDIRECT(UPPER($A1:$A500))