Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.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 阻止ArrayList收集多个数据,而不是Excel、Apache POI中的一个数据_Java_Apache_Arraylist_Import From Excel - Fatal编程技术网

Java 阻止ArrayList收集多个数据,而不是Excel、Apache POI中的一个数据

Java 阻止ArrayList收集多个数据,而不是Excel、Apache POI中的一个数据,java,apache,arraylist,import-from-excel,Java,Apache,Arraylist,Import From Excel,我正在导入Excel文件,并尝试在单个列中收集单元格中的数据,如下所示: 当我尝试这样做时,不知何故,通过下面的代码,我得到了以下结果: 有没有办法让我直接得到[老师的名字,你好,as,asd] HSSFWorkbook workbook = new HSSFWorkbook(file); HSSFSheet sheet = workbook.getSheetAt(0); int temp = sheet.getPhysicalNumberOfRows(); int numberoftick

我正在导入Excel文件,并尝试在单个列中收集单元格中的数据,如下所示:

当我尝试这样做时,不知何故,通过下面的代码,我得到了以下结果:

有没有办法让我直接得到[老师的名字,你好,as,asd]

HSSFWorkbook workbook = new HSSFWorkbook(file);
HSSFSheet sheet = workbook.getSheetAt(0);
int temp = sheet.getPhysicalNumberOfRows();
int numberoftickets = temp - 1;

List < String > a = new ArrayList < String > ();
for (Row row: sheet) {
    Cell c = row.getCell(0);
    if (c.getCellType() == Cell.CELL_TYPE_STRING) {
        a.add(c.getStringCellValue());
    }

String[] simpleArray = a.toArray(new String[a.size()]);
String aa = Arrays.toString(simpleArray);
StringTokenizer t = new StringTokenizer(aa, ",");

System.out.println(a);
HSSF工作簿=新的HSSF工作簿(文件);
HSSFSheet sheet=工作簿。getSheetAt(0);
int temp=sheet.getPhysicalNumberOfRows();
int numberoftickets=temp-1;
Lista=newarraylist();
用于(行:页){
单元c=行。获取单元(0);
if(c.getCellType()==Cell.Cell\u TYPE\u字符串){
a、 添加(c.getStringCellValue());
}
String[]simpleArray=a.toArray(新字符串[a.size()]);
字符串aa=Arrays.toString(simpleArray);
StringTokenizer t=新的StringTokenizer(aa,“,”);
系统输出打印项次(a);

您正在for循环中打印结果,因此它每行打印一次

相反,打印for循环外部的数组列表(在结束for循环的
}
之后)

for (Row row: sheet) {
    Cell c = row.getCell(0);
    if (c.getCellType() == Cell.CELL_TYPE_STRING) {
        a.add(c.getStringCellValue());
    }
} // this brace closes the for loop

//put your print code and tokenize code here

迭代后尝试打印结果

for(Row row: sheet){
  // Do Whatever you want to do  
}
System.out.println(a);

我已经在迭代后打印了。我不知道它为什么打印多次。我已经在迭代后打印了。我不知道它为什么打印多次。