`

POI Import Export Excel

    博客分类:
  • Java
阅读更多

所以我们字段field与单元格cellRef映射信息可以是这样子的:

<?xml version="1.0" encoding="UTF-8"?>

<excelImport>

    <onceImport>

       <![CDATA[

           C3 = ORDER_NBR,          H3 = CUST_NAME,

           N3 = CUST_LINK_INFO,     C4 = CUST_ID,

           H4 = CUST_ADDR,          N4 = ONCE_TYPE,

           C5 = CONTACT_ID,         H5 = CUST_FILE,

           N5 = LOOP_TYPE,          C6 = PRO_NAME,

           H6 = OPPO_ORDER_NBR,     N6 = COOPERATE_MODE,

           C11 = AUD_MANGER,        N11 = BM,

           C12 = ORDER_COMMENT

       ]]>

    </onceImport>

    <repeatImport>

       <![CDATA[

           A9 = STRNUM,             B9 = FRI_AREA,

           C9 = OPP_A,              D9 = SEC_AREA,

           E9 = OPP_B,              F9 = NUM,

           G9 = SERV_NBR,           H9 = SPEED,

           I9 = FRI_ADDR,           J9 = PORT_TYPE_A,

           K9 = FRI_LINK_A,         L9 = SEC_ADDR,

           M9 = PORT_TYPE_B,        N9 = FRI_LINK_B,

           O9 = APPLY_INFO,         P9 = ORDER_DATE,

           Q9 = HIRE_TIME,          R9 = DISCOUNT_MID,

           S9 = BILL_DATE,          T9 = OLD_BILL_DATE,

           U9 = LINE_COMMENT

       ]]>

       <endCode>End</endCode>

    </repeatImport>

</excelImport>
(1)    <onceImport/> 表示只需要一次导入的数据,字段field与单元格cellRef的映射关系写在CDATA区中。

(2)    <repeatImport/>表示需要循环导入的数据,字段field与单元格cellRef的映射关系写在CDATA区中。<endCode/>表示循环终止的字符。

下面说一下,根据这个XML描述文件,我们需要从Excel中解析出什么样的数据格式来:
/**

 * 读取导入的Excel的内容

 * 模板要求:

 * (1)开始重复行与End行 有且只能有 一空行

 */

public class ExcelImportUtil

{

    /**

     * 读取导入的Excel的文件内容

     * @param xmlFile            描述被导入的Excel的格式的XML文件

     * @param importExcelStream 被导入的XML文件

     * @return                   Excel中需要导入的数据

     */

    public static ExcelData readExcel(String xmlFile, InputStream importExcelStream) throws ExcelImportException

    {}

}
/**

 * Excel导入的信息

 */

import java.util.List;

import java.util.Map;

public class ExcelData

{

    // 一次导入的数据,key就是field,一个ImportCellDesc描述了一个单元格(field,value,单元格名称)

    private Map<String, ImportCellDesc> onceData;

    // 重复导入的数据

    private List<Map<String, ImportCellDesc>> repeatData;

    // setter/getter

}

/**

 * 单元格的描述信息

 * (1)数据格式校验时,可以精确定位到某个单元格。

 */

public class ImportCellDesc

{

    /**

     * 引用的单元格;如:A3

     */

    private String cellRef;

    /**

     * 单元格的对应数据库的字段名称;

     * 如:fieldName = "username"

     */

    private String fieldName;

    /**

     * 字段值,如:张三

     */

    private String fieldValue;

    // setter/getter

}




调用代码:

ExcelData excelData = ExcelImportUtil.readExcel(xmlFile, importExcelStream);

然后在这个基础上,我们可以对数据进行一些操作,如:数据校验,插入数据。。。

其中数据校验时,如果数据不合法,给用户的提示信息可以精确指定某个单元格的数据不合法。(如:提示信息为:A3单元格数据不合法!)

注:使用了如下第三方JAR包:

Jdom   :解析XML描述文件

POI3.0  : 读取Excel文件

我把代码放到google code上了,可以在这里下载


本文摘自:http://www.cnblogs.com/java-koma/articles/1723379.html
分享到:
评论

相关推荐

    java_poi实现excel导入导出

    public class ExcelExport { public static void main(String[] args) throws Exception { // 创建一个工作薄 HSSFWorkbook workbook = new HSSFWorkbook(); // 创建一个工作表 HSSFSheet sheet = workbook....

    POI的EXCEL导出,自动换行

    ### POI的EXCEL导出,自动换行 在日常工作中,经常需要处理大量的数据导入导出任务,尤其是在企业级应用开发中,Excel文件的处理成为了一项必不可少的能力。Apache POI项目提供了一系列用于读写Microsoft Office...

    poi导出excel表格

    在IT行业中,Apache POI是一个广泛使用的Java库,它允许开发者读取、写入和修改Microsoft Office格式的文件,特别是Excel工作簿。本教程将详细讲解如何使用Apache POI在Web环境中导出Excel表格,避免生成不必要的...

    POI生成excel报表

    ### POI生成Excel报表知识点详解 #### 一、Apache POI简介 Apache POI是Apache软件基金会的一个开源项目,主要用于处理Microsoft Office格式的文件。它提供了API来读写Word、Excel等Office文档格式。其中,处理...

    java poi导出excel

    import org.apache.poi.xssf.usermodel.XSSFWorkbook; XSSFWorkbook workbook = new XSSFWorkbook(); ``` 3. **创建工作表** 工作簿可以包含多个工作表,使用`createSheet()`方法创建新的工作表。 ```java ...

    基于poi的excel导入导出封装

    1. **ExcelImport类**: 类似于ExcelExport,ExcelImport负责将Excel文件中的数据导入到Java对象列表。这个过程通常包括读取Excel文件,解析工作表,逐行读取数据,然后将数据映射到对应的Java对象。 2. **多Sheet...

    Java poi导入导出EXCEL工具类(兼容各版本)

    概述:Java poi导入导出EXCEL工具类(兼容各版本) 一、功能说明 允许同时导入或导出多个sheet,同一sheet可同时存在多个数据块,按数据块划分处理数据。 二、配置文件示例及详细说明 1、导入xml配置示例如下(见...

    java_Import_Export_excel_files.zip_export excel JAVA_import exce

    1. **Apache POI库**:Apache POI是一个流行的API,它允许Java应用程序创建、修改和显示Microsoft Office格式的文件,包括Excel。要导出Excel,我们首先需要在项目中引入Apache POI库。 2. **创建工作簿和工作表**...

    POI 封装操作Excel(导入、导出)

    该jar包包含导入 Import 和导出 Export Excel两部分。 (一)导入: /** * 描述: Excel 导入工具类 * * 方法一:excelImport(InputStream, Class) : 将 文件流 转化为 List对象集合,sheet索引默认为0...

    java_import_excel.rar_ java_import_excel_java import excel_java数

    本教程主要以Apache POI为例,讲解如何在Java中实现数据到Excel的导出,并涉及如何在Web环境中进行文件下载。 Apache POI 是一个开源项目,提供了读写Microsoft Office格式文档的能力,包括Excel。使用Apache POI,...

    SpringBoot整合poi实现Excel文件的导入和导出.pdf

    Apache POI 是一个流行的Java库,它允许开发者读写Microsoft Office格式的文件,包括Excel。下面我们将详细介绍如何在SpringBoot中整合POI来实现Excel的导入和导出,以及如何利用ExcelFormatUtil工具类进行单元格...

    SpringMvc 使用poi导入导出Excel

    在Java中,POI提供了API来操作Excel文件,使得开发者可以轻松地创建、修改和读取Excel数据。 首先,我们需要在项目中引入Apache POI的依赖。如果你的项目是Maven管理的,可以在pom.xml文件中添加以下依赖: ```xml...

    struts2中利用poi导出excel

    而Apache POI是一个强大的库,允许开发者在Java中处理Microsoft Office格式的文件,如Word、Excel和PowerPoint。本篇文章将深入探讨如何在Struts2框架中使用POI库来导出Excel文件。 首先,我们需要在项目中引入...

    poi分多个sheet导出excel

    在Java编程中,Apache POI库是一个非常实用的工具,用于读取、写入和修改Microsoft Office格式的文件,特别是Excel(.xlsx)文件。在处理大量数据时,如果需要将数据导出到Excel,可能会遇到单个工作表(sheet)无法...

    SpringBoot使用poi实现Excel导入与导出

    在SpringBoot应用中,使用Apache POI库可以方便地实现Excel的导入与导出功能。Apache POI是一个流行的API,它允许程序员创建、修改和显示Microsoft Office格式的文件,其中包括Excel(.xls和.xlsx)文件。在这个场景...

    springboot集成poi下载excel

    当我们需要处理Excel数据,例如报表生成、数据导入导出时,Spring Boot可以与Apache POI库结合,提供方便的Excel操作功能。本篇文章将深入探讨如何在Spring Boot项目中集成Apache POI来实现Excel文件的下载。 ...

    java导出excel及POI3.10jar包

    public class ExcelExport { public static void main(String[] args) throws IOException { // 创建Workbook对象 HSSFWorkbook workbook = new HSSFWorkbook(); // 创建Sheet对象 Sheet sheet = workbook....

    使用POI数据导出到Excel

    Apache POI是一个流行的开源库,它允许开发者读取、写入Microsoft Office格式的文件,包括Excel(.xlsx和.xls)。本篇文章将详细讲解如何利用Apache POI库将数据导出到Excel。 首先,我们需要了解Apache POI的基本...

    java POI导出excel 包含jar

    Java POI库是Apache软件基金会的一个项目,专门用于读写Microsoft Office格式的文件,包括Excel。在Java中,使用POI库可以方便地创建、修改和处理Excel文档,无论是.xls(BIFF8格式,Excel 97-2003)还是.xlsx...

Global site tag (gtag.js) - Google Analytics