2012-04-24 75 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))