当前位置: 首页 > 面试题库 >

如何使用Java计算Excel文档列中的行数

龙令
2023-03-14
问题内容

我有一个Java代码,可从excel文档中获取数据。我想计算列数和行总数(在特定列中)。我该如何实现?下面提供了Java代码和所需的o / p

(编辑):我应该进行哪些修改以获得所需的O / P,例如,我应该编写一个循环以获取列和行的计数,或者有一种方法可以做到这一点

所需的O / P

ColumnA ColumnB ColumnC
Vinayak James   Dan
India   US      Denmark

 Total number of Columns: 3
number of data in ColumnA:2
number of data in ColumnB:2
number of data in ColumnC:2  

(编辑):-在这里回答-计算Excel工作表一列中的行数(提供Java代码)

我的Java代码:

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Iterator;

import org.apache.poi.ss.formula.functions.Column;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class ExcelRead {
    public static void main(String[] args) {
        int count=0;
    try {
        FileInputStream file = new FileInputStream(new File("C:/Users/vinayakp/Desktop/Book.xlsx"));
        XSSFWorkbook workbook = new XSSFWorkbook(file);
        XSSFSheet sheet = workbook.getSheetAt(0);
        Iterator<Row> rowIterator = sheet.iterator();
        while(rowIterator.hasNext()) {
            Row row = rowIterator.next();
            Iterator<Cell> cellIterator = row.cellIterator();
            while(cellIterator.hasNext()) {
                Cell cell = cellIterator.next();
                switch(cell.getCellType()) {
                    case Cell.CELL_TYPE_BOOLEAN:
                        System.out.print(cell.getBooleanCellValue() + "\t\t");
                        break;
                    case Cell.CELL_TYPE_NUMERIC:
                        System.out.print(cell.getNumericCellValue() + "\t\t");
                        break;
                    case Cell.CELL_TYPE_STRING:
                        System.out.print(cell.getStringCellValue() + "\t\t");
                        break;
                }
            }
            System.out.println("");
        }

        file.close();    
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException ae) {
        ae.printStackTrace();
    }
}
}

我得到的输出是:

ColumnA ColumnB ColumnC
Vinayak James   Dan
India   US      Denmark

我需要获得所需的O / P,如上所示。代码工作正常,但是我需要获取列和行的计数值。请为我提供相同的解决方案。我之前的代码有问题,此问题已解决:读取Excel文档时出现问题(Java代码)


问题答案:

我认为您可以使用此处建议的代码来获取列,然后针对列中的每一行(尽管与POI方法有关的行中的每一列更多),只需计算所需的值即可。

因此,您的代码可能遵循以下内容:

for(Row row : sheet) {
   short minColIx = row.getFirstCellNum();
   short maxColIx = row.getLastCellNum();
   for(short colIx = minColIx; colIx<maxColIx; colIx++) {
     Cell c = row.getCell(colIx);
     if(c != null) {
        if(c.getCellType() == Cell.CELL_TYPE_NUMERIC) {
           // add c.getNumericCellValue()
        }
     }
   }
}


 类似资料:
  • 问题内容: 我有这样的台词,我想知道我实际上有几行… 有没有一种方法可以使用linux命令对它们进行计数? 问题答案: 用途: 这将输出行数: 或者,要从结果中省略,请使用: 您还可以通过管道将数据发送到:

  • 我想用熊猫数某列的行数。我有这样的DataFrame: 我想计算列B中的行数,我的代码如下: 但是不管什么我都会把它放在最长列的行号上。 我应该在代码中更改什么来获得列B的行数o,但没有空行?

  • 本文向大家介绍使用Java计算文本文件中的行数,包括了使用Java计算文本文件中的行数的使用技巧和注意事项,需要的朋友参考一下 我们可以使用Java的BufferedReader类读取文件中的行。请参阅下面的示例- 示例 在类路径中请看以下文本文件。 test.txt 测试器 这将产生以下结果- 输出结果

  • 我有一个word文件,我想数一下里面有多少页。 已使用Docx4Java创建该文件。 以前有人这么做过吗? 谢谢!

  • 问题内容: 如果要计算索引(Elasticsearch的索引)中的文档数,则有​​(至少?)两种可能性: 直接 POST my_index / _count 应该返回中的文档数。 使用 在这里,可以将用作或其他类型。无论哪种情况,都可以从现场提取总计数 我的问题是: 不同方法之间有什么区别?我应该选哪一个? 我提出这个问题是因为根据所选择的方法,我会遇到不同的结果。我现在正在调试问题,此问题突然出

  • 如果一个人想要计算一个索引中的文档数量(Elasticsearch的),那么有(至少?)两种可能性: > 直接 发布my_index/_count 应该返回中的文档数。 使用 这里可以使用作为或其他类型。在这两种情况中,总计数都可以从字段中提取 我的问题是: > 不同的方法有什么不同?我更喜欢哪一个? 我提出这个问题是因为我正在经历不同的结果取决于所选择的方法。我现在正在调试问题的过程中,突然出现