Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.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

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 从excel工作表中读取随机单元格值_Java_Excel - Fatal编程技术网

Java 从excel工作表中读取随机单元格值

Java 从excel工作表中读取随机单元格值,java,excel,Java,Excel,我在excel工作表中存储了=randbween(10,20),该公式在excel工作表中生成10到20之间的随机值。我需要在java程序中读取这5个随机值 虽然函数在我的excel工作表中给出了不同的值,但我的java程序读取相同的常量随机值5次。。如何读取5个不同的随机值 这就是我所做的: public class JavaApplication1 { public static void main(String[] args) { try {

我在excel工作表中存储了
=randbween(10,20)
,该公式在excel工作表中生成10到20之间的随机值。我需要在java程序中读取这5个随机值

虽然函数在我的excel工作表中给出了不同的值,但我的java程序读取相同的常量随机值5次。。如何读取5个不同的随机值

这就是我所做的:

public class JavaApplication1 {
    public static void main(String[] args) {
        try {
            for (int i = 0; i < 5; i++) {
                FileInputStream fileInputStream =
                    new FileInputStream("C://users/user/Desktop/C.xls");
                HSSFWorkbook workbook = new HSSFWorkbook(fileInputStream);
                HSSFSheet worksheet = workbook.getSheet("POI Worksheet");
                HSSFRow row1 = worksheet.getRow(0);
                HSSFCell cellA1 = row1.getCell((short) 0);
                double a1Val = cellE1.getNumericCellValue();
                System.out.println("A1: " + a1Val);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
如何使我的程序读取五个不同的值?

您总是得到第0行,但在第5行

HSSFRow row1 = worksheet.getRow(0);  
0
更改为
i

for (int i=0;i<5;i++)
{
   // ...
   HSSFRow row1 = worksheet.getRow(i); 
   // ...
}

for(int i=0;i您使用
i
查询同一单元格(A1)五次。此值是在Excel中打开/刷新工作表时计算的。为什么您认为快速连续查询同一单元格每次都会导致不同的结果

我不知道你为什么要依赖Excel来生成随机数。有什么原因不能直接用Java生成这些随机数吗?例如:

// Assuming 20 is your max, 10 your min
Random random = new Random();
int yourRandomNumber = random.nextInt((20 - 10) + 1) + 10;

谢谢,但这会创建一个空指针异常,因为随机整数仅出现在第0行,而第1行中没有任何内容。@lalitkumar我认为您不能从Java重新调用Excel工作表中的
randbween
函数。您能建议解决方案吗?我如何才能获得不同的值HNK,但它会直接创建随机值在程序中,我需要从excel工作表中获取随机值。为什么需要这些值?它不像excel那样随机Java@lalitkumar如果你解释一下你为什么要这样做,也许人们可以帮上忙。现在听起来有点疯狂:-)@Seanchisher我需要它,因为我正在创建一个系统,它为不同的能力倾向问题创建随机变量。如果我使用java,我不能为不同的问题设置不同的范围,但使用excel我可以做到这一点。。年龄问题的变量范围为10-60,而兴趣问题的变量范围为1000-10000。。