Java 从excel工作表中读取随机单元格值
我在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 {
=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。。