首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >数组Java的迭代器

数组Java的迭代器
EN

Stack Overflow用户
提问于 2018-10-10 05:36:33
回答 2查看 863关注 0票数 1

我正在开发一个在Netbeans上使用Java的小应用程序,我需要将Excel文件的数据导出到一个数组中,然后在这个数组上工作。为了获得excel,我使用Apache POI,我可以在控制台中显示excel文件的值。

但是,我需要将它放在一个数组中,目前我不知道如何使用迭代器,因为我要将excel数据放入迭代器中。

代码语言:javascript
复制
Workbook workbook = WorkbookFactory.create(new File(pathConfig1));
//File
Iterator<Sheet> sheetIterator = workbook.sheetIterator();
Sheet sheet = workbook.getSheetAt(nbSheet1);
//Get index sheet user

Iterator<Row> rowIterator = sheet.rowIterator();
int nbLine= sheet.getLastRowNum() +1; 
//Number of Lines

int nbCol = sheet.getRow(0).getLastCellNum(); 
// Number of columns

String [][]data= new String[nbLine][nbCol];
//Array for the data

从这一点来看,我真的不知道如何导出我的数组中的数据...有什么想法吗?

我想使用2个循环,但我不知道如何递增我的迭代器…

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-10 06:05:58

据我所知,您希望将每行中的每个单元格值存储在一个数组中,对吧?如果是这样,那么使用2个循环是正确的,在这种情况下迭代器是可选的。我已经重写了你的代码,希望它能有所帮助。

代码语言:javascript
复制
Workbook workbook = WorkbookFactory.create(new File(pathConfig1));
// Iterator<Sheet> sheetIterator = workbook.sheetIterator();
Sheet sheet = workbook.getSheetAt(0);
// Iterator<Row> rowIterator = sheet.rowIterator(); 
int nbLine = sheet.getLastRowNum() + 1;
int nbCol = sheet.getRow(0).getLastCellNum();
String[][] data = new String[nbLine][nbCol];
for (int i = 0; i < nbLine; i++) {
    Row row = sheet.getRow(i);
    for (int j = 0; j < nbCol; j++) {
        Cell cell = row.getCell(j);
        data[i][j] = cell.toString();
    }
}
// Display
for (int i = 0; i < nbLine; i++) {
    StringBuffer buff = new StringBuffer();
    int j = 0;
    for (; j < nbCol - 1; j++) {
        buff.append(data[i][j]);
        buff.append(",");
    }
    buff.append(data[i][j]);
    System.out.println(buff.toString());
}
票数 1
EN

Stack Overflow用户

发布于 2018-10-10 05:43:07

我不熟悉您正在使用的特定库,但是使用迭代器的一种简单方法是在for each循环中

就像这样

代码语言:javascript
复制
for (Sheet sheet : workbook.sheetIterator()) {
    for (Row row : sheet.rowIterator()) {
        data[row][col] = //row.getCellValue()? Like I said, I don't know this library
    }
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52729674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档