遍历Excle工作薄的行和列,文本抽取

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了遍历Excle工作薄的行和列,文本抽取相关的知识,希望对你有一定的参考价值。

首先准备一个Excle文件,有以下内容:

技术分享

 

然后用输入流找到文件在磁盘的位置:

InputStream is=new FileInputStream("f:\\\\学历学位数据字典.xls");

然后依次按照取Sheet页,取行Row,取列Cell的顺序遍历Excel表

此时需要注意,对应三个判断,Sheet页不存在,某一行Row不存在,某一列Cell不存在

public class T {

	public static void main(String[] args) throws IOException {
		
		InputStream is=new FileInputStream("f:\\\\学历学位数据字典.xls");
		POIFSFileSystem poiFSFileSystem=new POIFSFileSystem(is);
		HSSFWorkbook hSSFwb=new HSSFWorkbook(poiFSFileSystem);
		HSSFSheet hSSFSheet=hSSFwb.getSheetAt(0);//获取第一个sheet页
		if(hSSFSheet==null){
			System.out.println("不存在Sheet页");
		}
		
		//遍历行
		for(int i=0;i<hSSFSheet.getLastRowNum();i++){
			HSSFRow hSSFRow=hSSFSheet.getRow(i);//行
			if(hSSFRow==null){
				continue;
			}
			for(int j=0;j<hSSFRow.getLastCellNum();j++){
				HSSFCell hSSFCell=hSSFRow.getCell(j);
				if(hSSFCell==null){
					continue;
				}
				//输出
				System.out.print(hSSFCell.toString());
			}
			System.out.println();
		}
	}
}

  技术分享

Poi还提供了直接抽取文本内容的方法:ExcelExtractor,它是一个类,用到了面向对象的方法

技术分享

去掉Sheet页的标题

技术分享

以上是关于遍历Excle工作薄的行和列,文本抽取的主要内容,如果未能解决你的问题,请参考以下文章

循环遍历Oracle中的行和列

使用属性窗口在 QT 网格布局中设置小部件的行和列

从 SQL 数据库中选择特定的行和列

调整大小以适应 QTableView 中的行和列非常慢

悬停在表格上时如何突出显示表格的行和列?

如果 MATLAB Rb2020 中的行和列维度不一致,如何取消嵌套具有嵌套数据和文本内容的元胞数组?