Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.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/3/arrays/12.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_Arrays_Excel_For Loop - Fatal编程技术网

Java 尝试从excel中获取数据,然后将其存储在数组中,然后打印

Java 尝试从excel中获取数据,然后将其存储在数组中,然后打印,java,arrays,excel,for-loop,Java,Arrays,Excel,For Loop,我正在尝试从excel文件中读取数据。当我运行下面的代码时,它运行时没有任何错误,但不会给出任何数据。当我检查代码时,我发现全局变量rownum没有初始化并给出默认值0。但是在getData(inti)方法中,rownum的值为14。 我试图通过使用getData(inti)方法获取excel文件中可用的所有字符串数据,然后尝试将它们存储在data[]数组中。在setData方法中,我再次尝试将data[]数组中存储的所有项复制为字符串值。 谁能帮忙吗。我是java新手。 包装com.selen

我正在尝试从excel文件中读取数据。当我运行下面的代码时,它运行时没有任何错误,但不会给出任何数据。当我检查代码时,我发现全局变量rownum没有初始化并给出默认值0。但是在getData(inti)方法中,rownum的值为14。 我试图通过使用getData(inti)方法获取excel文件中可用的所有字符串数据,然后尝试将它们存储在data[]数组中。在setData方法中,我再次尝试将data[]数组中存储的所有项复制为字符串值。 谁能帮忙吗。我是java新手。 包装com.selenium

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;


@SuppressWarnings("unused")
public class DataFromExcel {
  String[] data = new String[15];
  static int rownum;

 public String[] getData(int i) throws InvalidFormatException, IOException{
   File file = new File("C:\\Users\\Admin\\Desktop\\ScreenShot\\Excel.xls");
   FileInputStream input = new FileInputStream(file);
   Workbook excel = WorkbookFactory.create(input);
   Sheet sheet = excel.getSheet("Data");
   rownum = sheet.getLastRowNum();
   System.out.println(rownum);


     for(int j=1;j<=rownum;j++){
         Row row = sheet.getRow(rownum);
         while(row != null){
         if(row.getCell(j) != null){
         String cell = row.getCell(j).getStringCellValue();
         while(cell != null){
             data[j]=cell;
             System.out.println(data[1]);
         }//while cell
        }//if row 
      }//for  
     }//row while
    return data;
   }//getData 
  public String setData(int i){
      String value = null;
      for(i=1; i<=data.length;i++){
          value =data[i];
      }//for setData
    return value;
  }//setData

 public static void main(String[] args) throws InvalidFormatException, IOException{
    DataFromExcel get = new DataFromExcel();
    System.out.println(rownum);
    get.getData(1);
    if(get.data != null){
    System.out.println(get.setData(1));}
 }//main
}// DataFromExcel
导入java.io.File;
导入java.io.FileInputStream;
导入java.io.FileNotFoundException;
导入java.io.IOException;
导入org.apache.poi.openxml4j.exceptions.InvalidFormatException;
导入org.apache.poi.ss.usermodel.Row;
导入org.apache.poi.ss.usermodel.Sheet;
导入org.apache.poi.ss.usermodel.工作簿;
导入org.apache.poi.ss.usermodel.WorkbookFactory;
@抑制警告(“未使用”)
公共类DataFromExcel{
字符串[]数据=新字符串[15];
静态int rownum;
公共字符串[]getData(int i)引发InvalidFormatException,IOException{
File File=新文件(“C:\\Users\\Admin\\Desktop\\ScreenShot\\Excel.xls”);
FileInputStream输入=新的FileInputStream(文件);
工作簿excel=WorkbookFactory.create(输入);
工作表=excel.getSheet(“数据”);
rownum=sheet.getLastRowNum();
System.out.println(rownum);
对于(int j=1;j您已经知道(我希望如此)程序的执行是从
main()
方法开始的。现在,当您调用
getData(int I)
方法时,此时
rownum
为零(显然没有代码在修改它),但此后您调用了
getData(int I)
使用参数,该参数会根据其中给出的指令更改rownum的值,尝试添加另一个
System.out.prinltn()
作为
main()
方法的结束行,并打印
rownum的值。