Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.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_Excel - Fatal编程技术网

在java中读取excel文件?

在java中读取excel文件?,java,excel,Java,Excel,我需要从xls文件中读取一列,但每小时读取一个单元格。我正在使用jxl库。我试着用计时器,但它一小时一小时地读取所有的单元格 这是我获取列的第一个单元格的方式:(sheet.getCell(0,4)),其中0是列,4是第一个单元格 我怎样才能得到4到10个细胞,但每小时1个细胞 示例代码: timer.scheduleAtFixedRate(new TimerTask() { Cell b3; double numberb3=0; int i; @Override

我需要从xls文件中读取一列,但每小时读取一个单元格。我正在使用jxl库。我试着用计时器,但它一小时一小时地读取所有的单元格

这是我获取列的第一个单元格的方式:(sheet.getCell(0,4)),其中0是列,4是第一个单元格

我怎样才能得到4到10个细胞,但每小时1个细胞

示例代码:

 timer.scheduleAtFixedRate(new TimerTask() {
   Cell b3;
   double numberb3=0;
   int i;
   @Override
   public void run() {
   Sheet sheet = workbook.getSheet(0);

   b3 = sheet.getCell(0, 4);

   if(b3.getType()==CellType.NUMBER){
         NumberCell nc = (NumberCell) b3;
         numberb3= nc.getValue();
     }
    System.out.println("="+numberb3);

  }
}, 2*60*1000,60*60*1000);

我不知道那里有什么图书馆,但通常有两种选择:

  • 通过Excel提供的COM接口访问文件
  • 手动读取Excel文件(顺便说一句,基本上.xlsx是一个zip文件)

  • 考虑一下这一点。Excel必须安装在您的程序将要运行的计算机上。

    另一种可能是改进您的代码,使其正确地服务于您的任务。