基于POI的简单EXCEL操作封装

项目中有一些excel的导入、导出工作,为了方便使用,对POI做了点简单的封装。我们的要求比较低,封装得也很简单。最近有闲,做了下整理:


基础包版本说明:

JDK 1.6

POI 3.17


首先上个使用样例:

public static void main(String[] args) throws Exception {
		ExcelUtil.parse("C:\\Users\\aires\\Desktop\\附件1:课程清单.xlsx").iterate(new SimpleRowResolver() {
			
			@Override
			public void resolve(int rowNum, Object[]val) {
				//控制台输出第一行的内容
				System.out.println(Arrays.toString(val));	
			}			
		});
	}

功能说明:针对excel文件或输入流,按行或者单元格解析处理,提供简单的通用单元格数据获取方法(ExcelUtil.val(Cell cell):数字类单元格返回Double, 日期返回Date, 公式返回计算后的结果,其它返回String)

两个接口:

/**
 * 
 * @author aires
 * 2016-9-20 下午5:57:08
 * 描述:行解析器
 */
public interface RowResolver {
	public void resolve(int rowNum, Row row);
}
/**
 * 
 * @author aires
 * 2016-9-20 下午5:57:17
 * 描述:单元格解析器
 */
public interface CellResolver {
	public void resolve(int rowNum, int colNum, Cell cell);
}
针对上面接口提供了两个适配器(直接获取了单元格的数据供处理):

public abstract class SimpleRowResolver implements RowResolver
...
protected abstract void resolve(int rowNum, Object[]values);
...
public abstract class SimpleCellResolver implements CellResolver
...
protected abstract void resolve(int rowNum, int colNum, Object value)
...

内容比较简单,其它的就偷个懒,贴点内容:

获取对象

Excel excel = ExcelUtil.parse(excelFile)/ExcelUtil.newExcel(sheetName);//或者调用构造方法,重载方法,支持文件或流

遍历 excel.iterate/iterateAll

遍历当前sheet

do { excel.iterate... }while(excel.nextSheet())

遍历所有sheet

excel.iterateAll

编辑

创建新sheet页

excel.newSheet(sheetName);

设置宽度

excel.setWidths

写数据

excel.write/writeRow

合并单元格

excel.merge

保存

excel.save


包地址:http://download.csdn.net/download/luogui551/10169053
源码github:https://github.com/luogui551/excel.git

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值