如何使用Java Apache POI从xlsx文件的特定单元格获取值

马鲁西·斯里尼瓦斯(Maruthi Srinivas)

我正在编写一个Java程序来使用apache poi读取Excel工作表(xlsx)。我能够遍历所有单元格并获得所有值。但是我无法获得特定的像元值,例如E10。有什么办法吗?

请参阅下面用于迭代单元格的代码。

package application;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class ReadFromXLSX {
    public static void readXLSXFile() throws IOException
    {
        InputStream ExcelFileToRead = new FileInputStream("C:\\Test.xlsx");
        XSSFWorkbook  wb = new XSSFWorkbook(ExcelFileToRead);
        XSSFWorkbook test = new XSSFWorkbook(); 
        XSSFSheet sheet = wb.getSheetAt(0);
        XSSFRow row; 
        XSSFCell cell;
        Iterator rows = sheet.rowIterator();
        while (rows.hasNext())
        {
            row=(XSSFRow) rows.next();
            Iterator cells = row.cellIterator();
            while (cells.hasNext())
            {
                cell=(XSSFCell) cells.next();   
                if (cell.getCellType() == XSSFCell.CELL_TYPE_STRING)
                {
                    System.out.print(cell.getStringCellValue()+" ");
                }
                else if(cell.getCellType() == XSSFCell.CELL_TYPE_NUMERIC)
                {
                    System.out.print(cell.getNumericCellValue()+" ");
                }
                else
                {
                }
            }
            System.out.println();
        }
    }   
}
wvdz

例如,要获得第一个工作表的E10:

wb.getSheetAt(0).getRow(9).getCell(4); 

注意:因为索引是基于空值的,所以减去1。

您还可以使用此便捷方法将E映射到4。

wb.getSheetAt(0).getRow(9).getCell(CellReference.convertColStringToIndex("E"));

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Java Apache POI库从XLSX文件中的特定单元格获取值

Java / Apache POI-如何更改/设置特定单元格中的字体大小?

使用Java和Apache POI用地图中的结果填充xlsx文件空单元格

如何更改特定单元格Apache POI 3.9的字体颜色

我如何使用Apache POI搜索和打印Excel工作表中的特定单元格?

如何使用Apache POI将.xlsx文件中的所有单元格的空白返回为null?

使用Apache POI获取单元格颜色

如果在使用 Java 的 Selenium 中每行和列的特定单元格为空,则无法使用 Apache POI 检入 excel

Java Apache POI空白单元格

使用 jquery 从特定列中的特定单元格获取值

如何使用Apache POI 3.1获取公式单元格值(数据)

如何使用Apache POI缓存公式单元格

使用Java中的Apache POI在Doc文件中的表单元格中输入文本

使用 Java Apache POI 更新 Excel 文件中的单元格

如何通过Laravel从Excel中的特定单元格地址获取值

如何使用Apache POI处理Excel文件中的空白单元格

如何使用python从xlsx文件中的合并单元格获取值?

使用JAVA apache poi从xlsx读取数据无法读取行的最后一个单元格

如何在 xlsx 文件中选择特定单元格?

使用Apache POI通过单元格参考字母标识符获取单元格

如何在JAVA中使用apache POI在Excel中的单元格中写入?

Java从Apache Poi获取Excel单元格背景色

如何在apache poi表的不同行中设置特定的单元格宽度?

如何获取Apache POI中单元格的数字格式值?

使用Apache Poi从Excel工作表中获取单元格值

处理#REF!使用apache poi从excel中获取单元格

用公式读取单元格会得出与Excel文件不同的结果-Java Apache POI

如何在apache POI中读取Excel文件的确切单元格内容

Java Apache POI:Excel单元格颜色