首页 > 代码库 > 遍历Excle工作薄的行和列,文本抽取

遍历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工作薄的行和列,文本抽取