Java poi 解析 Excel 内容

Java poi 解析 Excel 内容

pom.xml 导入 poi.jar 包 或者直接在项目中添加以下jar包

<dependency>
	<groupId>org.apache.poi</groupId>
	<artifactId>poi</artifactId>
	<version>3.9</version>
</dependency>

<dependency>
	<groupId>org.apache.poi</groupId>
	<artifactId>poi-ooxml</artifactId>
	<version>3.9</version>
</dependency>

java代码

package com.xu.test;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class Excel {

	public static void main(String[] args) {
		readExcel("C:\\Users\\Administrator\\Desktop\\1.xlsx");
	}
	
	/**
	 * 读取 Excel 文件内容(*.xlsx、*.xls)
	 * @Title: openWorkbook
	 * @Description: 读取 Excel 文件内容(*.xlsx、*.xls)
	 * @param filepath 文件路径
	 * @date 2019年6月6日18:17:47
	 * @return void
	 */
	public static void readExcel(String filepath) throws IOException {
		Workbook workbook =openWorkbook(filepath);
		if(workbook==null) {
			return;
		}
		int totalsheet=workbook.getNumberOfSheets();//获取 Excel 文件中的全部 Sheet 页数量
		Sheet sheet=null;
		for (int i = 0; i < totalsheet; i++) {// 循环 Excel 文件中的全部 Sheet 页
			sheet=workbook.getSheetAt(i);// 获取 Sheet 页对象
			for (int j = 0; j < sheet.getLastRowNum(); j++) {// 循环 Excel 行
				for (int j2 = 0; j2 < sheet.getRow(j).getPhysicalNumberOfCells(); j2++) {// 循环 Excel 列
					System.out.print(sheet.getRow(j).getCell(j2)+"\t");// 获取单元格的内容
				}
				System.out.println();
			}
			System.out.println();
		}
	}

	/**
	 * 获取 Excel 文件对象(*.xlsx、*.xls)
	 * @Title: openWorkbook
	 * @Description: 获取 Excel 文件对象(*.xlsx、*.xls)
	 * @param filepath 文件路径
	 * @date 2019年6月6日18:17:47
	 * @return Workbook
	 */
	private static Workbook openWorkbook(String filepath)throws IOException {
		Workbook wb = null;
		File file=new File(filepath);
		if (file.exists()) {
			FileInputStream stream=new FileInputStream(file);
			if (filepath.endsWith(".xlsx") || filepath.endsWith(".XLSX")) {
				wb = new XSSFWorkbook(stream);//Excel  2007
			} else {
				wb = (Workbook) new HSSFWorkbook(stream);//Excel  2003
			}
			stream.close();
		} 
		return wb;
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值