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

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用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文件,开发者可以将天地图的数据集成到...

    word操作封装类

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

    导出工具类源码

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

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

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

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

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

    解析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工具类库,它大大简化了开发者的工作,使得复杂任务变得简单易行。 首先,我们...

    Excel下载.zip

    DTO是设计模式之一,常用于在不同组件之间传递数据,避免直接耦合。 6. **实现步骤**: - 初始化Workbook对象,选择Excel的版本(如XSSFWorkbook for .xlsx格式,HSSFWorkbook for .xls格式)。 - 创建Sheet对象...

    excl批量导入

    Java作为一种强大的后端编程语言,提供了多种处理Excel(Excl)文件的库,其中Apache POI是广泛使用的工具之一。本文将深入探讨如何使用Java和Apache POI库来解析Excel文件并实现批量导入到数据库的操作。 首先,...

    文件导出源码execl表格

    它允许开发者在Java应用程序中创建、修改和显示Excel文件,是文件导出的关键技术之一。 4. **封装好的工具类**:在Java编程中,工具类是一组静态方法,它们执行特定任务,但不维护状态。在这个项目中,可能有一个...

    excelUtil导入导出

    7. **易用性**:作为封装库,ExcelUtil的设计目标之一就是提供简洁易用的API,使得开发者可以通过简单的调用来完成复杂的Excel操作。 在实际应用中,"GJP-Example"这个文件可能是ExcelUtil的一个示例项目,包含了...

Global site tag (gtag.js) - Google Analytics