求java大神把读取的excel实现随机读取一行
publicstaticCell[][]read(StringfileName){Workbookrwb=null;InputStreamis;try{is=newFil...
public static Cell[][] read(String fileName){
Workbook rwb = null;
InputStream is;
try {
is = new FileInputStream(fileName);
rwb = Workbook.getWorkbook(is);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (BiffException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
int sheets = rwb.getNumberOfSheets();
Sheet rs = rwb.getSheet(0);
String sheetName = rs.getName();//获取Sheet的名称
int rsColumns = rs.getColumns();//获取Sheet表中所包含的总列数
Cell[] cellCol = rs.getColumn(1); //获取某一列的所有单元格,返回的是单元格对象数组
int rsRows = rs.getRows(); //获取Sheet表中所包含的总行数
Cell[] cellRow = rs.getRow(1); //获取某一行的所有单元格,返回的是单元格对象数组
System.out.println("Sheet的个数:"+sheets);
System.out.println("Sheet的名称:"+sheetName);
System.out.println("列数:"+rsColumns);
System.out.println("行数:"+rsRows);
Cell[][] cells = new Cell[rsColumns][rsRows];
for(int j = 0;j < rsRows;j++){
for(int i = 0;i < rsColumns;i++){
Cell cell = rs.getCell(i, j);
System.out.print(cell.getContents()+" ");
}
System.out.println();
}
return cells; //以二维数组形式返回Excel的保存的所有数据
}
以上是读取excel的类
String[] namelist={"小明","小白","小黑","小黄","小兰","小草","小丽","兔子","巫妖","船长","剑圣","冰女"};
int randomNum=(int)(Math.random()*namelist.length);
System.out.println(namelist[randomNum]);}
这是我写死的从数组里随机选取,怎么将从excel读取的数据用下面的随机函数随机读取表里的一行,求指点 展开
Workbook rwb = null;
InputStream is;
try {
is = new FileInputStream(fileName);
rwb = Workbook.getWorkbook(is);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (BiffException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
int sheets = rwb.getNumberOfSheets();
Sheet rs = rwb.getSheet(0);
String sheetName = rs.getName();//获取Sheet的名称
int rsColumns = rs.getColumns();//获取Sheet表中所包含的总列数
Cell[] cellCol = rs.getColumn(1); //获取某一列的所有单元格,返回的是单元格对象数组
int rsRows = rs.getRows(); //获取Sheet表中所包含的总行数
Cell[] cellRow = rs.getRow(1); //获取某一行的所有单元格,返回的是单元格对象数组
System.out.println("Sheet的个数:"+sheets);
System.out.println("Sheet的名称:"+sheetName);
System.out.println("列数:"+rsColumns);
System.out.println("行数:"+rsRows);
Cell[][] cells = new Cell[rsColumns][rsRows];
for(int j = 0;j < rsRows;j++){
for(int i = 0;i < rsColumns;i++){
Cell cell = rs.getCell(i, j);
System.out.print(cell.getContents()+" ");
}
System.out.println();
}
return cells; //以二维数组形式返回Excel的保存的所有数据
}
以上是读取excel的类
String[] namelist={"小明","小白","小黑","小黄","小兰","小草","小丽","兔子","巫妖","船长","剑圣","冰女"};
int randomNum=(int)(Math.random()*namelist.length);
System.out.println(namelist[randomNum]);}
这是我写死的从数组里随机选取,怎么将从excel读取的数据用下面的随机函数随机读取表里的一行,求指点 展开
若以下回答无法解决问题,邀请你更新回答
1个回答
展开全部
没明白题意,是随机读取EXCEL还是随机读取数组?两者之间有什么关联??你说的太模糊,没明白
更多追问追答
追问
就是现在读取的excel数据已经存到二维数组里了,然后那个随机数是我写死的数组,我想把这个写死的数组,替换成那个二维数组,实现可以随机显示excel表里的一列就可以了
追答
你是不是担心写死的数组因为Excel数据的长度改变而发生越界?你可以把每一列的数据装到一个LIST集合中,再把每一个这样的LIST集合装到另一个LIST集合中,这样每次从LIST中拿到的就是一列数据,不用担心数据越界了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询