`
walkon
  • 浏览: 2965 次
文章分类
社区版块
存档分类
最新评论

POI封装之一

    博客分类:
  • POI
阅读更多
某日,同学求助,他们每个月要从一个Excel表格A中获取一些数据,导入到一个统一的Excel B中,Excel B是全量的,每个月追加进去。

其实直接通过POI,比较简单的就可以实现了,但是自己又开始抽筋了,要做一番设计。

封装一下POI吧,这样感觉干净些。

原生的POI少了两个特性,一个是过滤,一个是数据绑定。

我先定义接口:

public interface IWorkbook extends IConstants {

	public ISheet getSheetAt(int index);
	
	public ISheet createSheet(String name);
	
	public ISheet cloneSheet(int index);
	
	public ISheet cloneSheet(String name);
	
	public void removeSheet(String name);

	public Iterator<ISheet> iterator();

	public Iterator<ISheet> iterator(ISheetFilter filter);

	public void write(File file) throws IOException, Exception;

	public IWorkbook read(File file) throws IOException, Exception;
}


public interface ISheet extends IConstants {

	public IRow getRow(int index);
	
	public Iterator<IRow> iterator();
	
	public Iterator<IRow> iterator(IRowFilter filter);
	
	public IRow createRow(int index);
	
	public String getName();
	
	public ISheet setName(String name);
		
	public IWorkbook getWorkbook();
}


public interface IRow extends IConstants {
	
	public ICell getCell(String x);
	
	public <T> T bind(IRowBinder<T> irb);
	
	public ICell createCell(String x,int cellType);
	
	public ICell createCell(String x);
	
	public <T> void marshall(IRowMarshaller<T> marshaller,T t);
	
	public int getRowNum();
	
	public ISheet getSheet();
	
}


public interface ICell extends IConstants, Evaluatable {

	public final static int CELL_TYPE_NUMERIC = 0;

	public final static int CELL_TYPE_STRING = 1;

	public final static int CELL_TYPE_FORMULA = 2;

	public final static int CELL_TYPE_BLANK = 3;

	public final static int CELL_TYPE_BOOLEAN = 4;

	public final static int CELL_TYPE_ERROR = 5;

	public void setValue(Object value);

	public void setValue(Object value, String dataFormat);

	public int getType();

	public String getKey();

	public IRow getRow();

	public ICellValue getCellValue();

}


分享到:
评论

相关推荐

    java中poi读写excel封装工具类(兼容office2003和2007等版本)

    以下是对"java中poi读写excel封装工具类"这一主题的详细解释。 1. **Apache POI介绍** Apache POI是一个开源项目,允许Java开发者创建、修改和显示Microsoft Office文件,包括Excel、Word和PowerPoint。它的核心...

    poi 操作 excel 2007 demo 及poi类库

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,包括Excel、Word和PowerPoint等。在Java世界中,POI库是处理Excel文件的首选工具,尤其对于读写Excel 2007(.xlsx)这种基于OpenXML格式的文件...

    基于Java和HTML的poi-3.10封装Excel导出工具设计源码

    在当今的信息处理和数据分析领域中,Excel凭借其强大的数据处理能力成为不可或缺的工具之一。为了进一步提高数据处理的效率和便捷性,Java作为一种广泛使用的编程语言,通过其强大的库支持,可以有效地与Excel进行...

    一个java用POI组件读写Excel的类

    一个java用POI读写Excel的类封装了一个读取Excel数据的方法和一个写入Excel数据的方法,写入的话可从数据库读取或自己写一个List...

    java导入导出excel需要poi包

    Apache POI库的强大之处在于其灵活性和广泛的兼容性,它为Java开发者提供了一种强大且易用的方式来处理Excel文件。无论你是需要简单地导入数据还是构建复杂的Excel报告,POI都能满足需求。不过,需要注意的是,处理...

    java poi_3.15依赖库

    总的来说,Java POI 3.15是一个强大且可靠的库,是Java开发者处理Excel文件的标准选择之一。它的应用广泛,无论是在数据分析、报表生成,还是在数据导入导出场景中,都能发挥重要作用。只要正确地将`poi_3.15.jar`...

    JAVA利用poi完成word转pdf,内容包括两个现成工具类和使用到的所有jar包

    在实际项目中,为了方便重复使用,可以封装这些操作到两个工具类中:一个用于读取Word并转换为Docx4j可以理解的格式,另一个用于将Docx4j的输出转换为最终的PDF。此外,工具类中还可以包含字节流处理,以便于在网络...

    arcgis api 结合高德POI搜索.zip

    1. **TianDiTuLayer.js**:这是一个封装了天地图服务的JavaScript文件。天地图是由中国国家基础地理信息中心提供的免费地图服务,支持多种地图瓦片和矢量数据。通过这个JS文件,开发者可以将天地图的数据集成到...

    自定义模板导出excle项目工具poi-el.rar

    在众多的数据处理工具中,Excel无疑是使用最为广泛和便捷的工具之一。然而,在实际的项目开发过程中,常常会遇到需要根据特定业务场景快速生成格式化Excel报告的需求。为此,开发人员往往需要一种能够高度定制Excel...

    word操作封装类

    在面向对象编程(OOP)中,封装是核心概念之一,它意味着将数据和操作这些数据的方法绑定在一起,作为一个独立的单元,即类。通过封装,我们可以隐藏内部实现细节,提供简洁的接口供外部使用,降低代码的复杂性和...

    POI 工具类,Excel的快速导入导出,Excel模板导出,Word模板导出,可以仅仅5行代码就可以完成Excel的导入导出,修改导出格式简单粗暴,快速有效,easypoi值得你尝试

    它的易用性和强大的功能,使得它在众多的Excel和Word操作工具中脱颖而出,成为开发者不可或缺的工具之一。 POI工具类提供了一种简单而强大的方法来处理Excel和Word文件,使得原本复杂的数据导入导出过程变得...

    导出工具类源码

    在IT行业中,数据导出是常见的需求之一,特别是在数据分析、报表生成或数据交换的场景下。Excel作为广泛使用的电子表格格式,是数据导出的首选。本知识点将深入讲解一个基于Apache POI 4.0的自定义Excel导出工具类,...

    java自动化之自动化框架项目(第二天-读取数据文件并封装对象)代码

    对象封装是面向对象编程的基本原则之一。在自动化框架中,我们通常会创建一个类来代表测试数据,每个类实例对应测试用例的一行数据。例如,如果数据文件包含用户注册的信息,我们可以定义一个`User`类,包含`...

    JAVA WORD中实现电子印章效果 文字浮于印章上面

    在实际开发中,为了提高代码的可重用性和灵活性,你可能会将这些功能封装成一个类或接口,提供参数化的配置选项,如印章图片路径、文字内容、位置和样式等,以便在不同的场景下复用。此外,如果需要处理大量文档,还...

    微信支付封装接口 以及高德地图坐标查询

    高德地图是目前国内使用广泛的地图服务提供商之一,其提供的坐标查询功能可以帮助用户获取地理位置的详细信息,包括经纬度、行政区划等。 1. 坐标查询的类型: - 实时位置查询:通过API获取用户当前的经纬度坐标。...

    解析excel和xml的jar

    在IT行业中,解析数据是常见的任务之一,尤其在处理结构化数据时,如Excel和XML。Excel是一种流行的电子表格格式,常用于存储和管理数据,而XML(Extensible Markup Language)则是一种数据交换和存储的标准,广泛...

    读取excel文件

    在IT行业中,处理数据是日常任务之一,而Excel文件作为数据存储和交换的常用格式,经常需要被程序读取和处理。本篇文章将详细介绍如何在Java环境下使用Apache POI库来读取Excel文件,以及一个名为"ExcelReader"的...

    java 读取doc docx txt 文件例子

    Apache POI是一个流行的开源库,它允许开发者在Java应用程序中创建、修改和显示Microsoft Office格式的文件,包括Word(.doc和.docx)和Excel(.xls和.xlsx)。对于doc和docx文件,Apache POI提供了HWPF(用于旧版的...

    common-utils:Java常用工具类: 包含csv文件操作,excel表POI操作,文件上传,压缩,邮件发送,HTTP请求,XML解析,json操作,密码验证等

    这些任务通常需要编写重复的代码,为了提高开发效率,将这些功能封装成工具类是明智之举。"common-utils"就是一个集成了这些功能的Java工具类库,它大大简化了开发者的工作,使得复杂任务变得简单易行。 首先,我们...

Global site tag (gtag.js) - Google Analytics