Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用POI为excel列指定公式_Java_Excel_Apache Poi_Excel Formula - Fatal编程技术网

Java 使用POI为excel列指定公式

Java 使用POI为excel列指定公式,java,excel,apache-poi,excel-formula,Java,Excel,Apache Poi,Excel Formula,我想将公式frmo B5设置为B10004,公式取决于前一列的值。但是公式应该适当地动态更新单元格引用 dvCarConstraint = DVConstraint.createFormulaListConstraint( "INDIRECT(SUBSTITUTE($B$5, \" \", \"_\"))" ); addressList = new CellRangeAddressList(4, 10004, 2, 2); dataValidation = n

我想将公式frmo B5设置为B10004,公式取决于前一列的值。但是公式应该适当地动态更新单元格引用

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时,列中的所有单元格显示
间接(替换($B$5,“,”)
),而我期望的是
间接(替换($B$6,“,”)),$B$7
,等等


如何在POI中执行此操作?

我不知道POI,但在excel中,如果您希望根据单元格位置更新公式,请不要使用$-符号。您是否尝试过
间接(替代($B5,“,”)

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

我面临着同样的问题,在尝试了一些组合后,我达到了这个效果,对我来说很好

INDIRECT(UPPER($A1:$A500)) 

如果您在Excel中设置了相同的内容,然后在POI中读取文件,那么公式显示为什么?