文档章节

Java解析Excel之xlsmapper

 溪水涛
发布于 2016/04/12 16:13
字数 383
阅读 23
收藏 0

项目地址:https://github.com/mygreen/xlsmapper


具体使用参照 test/data/*.xlxs示例



XlsMapper

XlsMapper is Java Library for mapping Excel sheets to POJO.

  • Licensee

Apache License verion 2.0

Setup

<dependency>
    <groupId>com.github.mygreen</groupId>
    <artifactId>xlsmapper</artifactId>
    <version>1.4</version>
</dependency>

Documentation

http://mygreen.github.io/xlsmapper/sphinx/howtouse.html

Getting Started

For example, here is one Excel sheet.

Sample Excel

Map this Excel sheet to POJO.

  • Map the sheet with annotation @XlsSheet .

  • Map the cell 'Date' with annotation @XlsLabelledCell .

  • Map the table list 'User List' with annotation @XlsHorizontalRecords .

// POJO for mapping sheet.@XlsSheet(name="List")public class UserSheet {    @XlsLabelledCell(label="Date", type=LabelledCellType.Right)    Date createDate;    @XlsHorizontalRecords(tableLabel="User List")    List<UserRecord> users;

}

And the following is the record class.

  • Properties of the record class is mapped to columns by @XlsColumn .

  • Can map to int and enum type.

// Record classpublic class UserRecord {    @XlsColumn(columnName="ID")    int no;    @XlsColumn(columnName="Class", merged=true)    String className;    @XlsColumn(columnName="Name")    String name;    @XlsColumn(columnName="Gender")    Gender gender;

}// enum for the gender.public enum Gender {
    male, female;
}

You can get the mapped POJO using XlsMapper#load() like following:

// Load sheet with mapping to POJO.XlsMapper xlsMapper = new XlsMapper();UserSheet sheet = xlsMapper.load(    new FileInputStream("example.xls"), // excel sheet.
    UserSheet.class                     // POJO class.
    );

How to saving the sheet.

For example with saving the sheet, using same sheet.

Here is the template Excel sheet.

Sample Excel

And the following is the record class.

  • Append the annotation @XlsDateConverter for setting Excel format pattern.

  • Append the attribute overRecord with @XlsHorizontalRecords.

@XlsSheet(name="List")public class UserSheet {    @XlsLabelledCell(label="Date", type=LabelledCellType.Right)    @XlsDateConverter(excelPattern="yyyy/m/d")    Date createDate;    @XlsHorizontalRecords(tableLabel="User List", overRecord=OverRecordOperate.Insert)    List<UserRecord> users;

}

You can save the Excel with POJO using XlsMapper#save() like following:

// Create sheet data.UserSheet sheet = new UserSheet();
sheet.date = new Date();List<UserRecord> users = new ArrayList<>();// Create record data.UserRecord record1 = new UserRecord();
record1.no = 1;
record1.className = "A";
record1.name = "Ichiro";
record1.gender = Gender.male;
users.add(record1);UserRecord record2 = new UserRecord();// ...users.add(record2);

sheet.users = users;// Save the Excel sheet.XlsMapper xlsMapper = new XlsMapper();
xlsMapper.save(    new FileInputStream("template.xls"), // for template excel file.
    new FileOutputStream("out.xls"),     // for output excel file.
    sheet                                // for created sheet data.
    );


© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 3
码字总数 1929
作品 0
广州
私信 提问
Java读取和解析Excel数据:基于Apache POI(二)

版权声明:本文为Zhang Phil原创文章,请不要转载! https://blog.csdn.net/zhangphil/article/details/85317882 Java读取和解析Excel数据:基于Apache POI(二) 假设附录1文章中的test.xl...

zhangphil
01/02
0
0
Excel自定义格式Java类

求一个JAVA工具类 输入是字符串和参数串 输出是格式化后的字符串 要求如下 输入988046482,和类型那个字符串 输出示例中字符串 其实就是将Excel自定义格式 用JAVA解析...

Jack001
2015/11/11
277
2
Java 解析 Excel 工具 - easyexcel

easyexcel —— JAVA 解析 Excel 工具 Java 解析、生成 Excel 比较有名的框架有 Apache poi、jxl 。但他们都存在一个严重的问题就是非常的耗内存,poi 有一套 SAX 模式的 API 可以一定程度的...

匿名
2018/08/13
0
0
Java读取导入Excel文件解析

在编程中经常需要使用到表格(报表)的处理主要以Excel表格为主。下面给出用java读取excel表格方法:   1.添加jar文件   java导入导出Excel文件要引入jxl.jar包,最关键的是这套API是纯J...

_白开水_
2013/10/24
0
8
java poi 导入excel

所需jar包 poi package example.poi;import java.io.;import java.text.DecimalFormat;import org.apache.poi.hssf.usermodel.;import org.apache.poi.ss.usermodel.;import org.apache.poi......

JohnnyFu
2014/11/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Navicat怎样导入Excel表格和txt文本的数据

Navicat怎样导入Excel表格和txt文本的数据 2018年07月02日 11:29:11 零碎de記憶 阅读数:2433 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_39135287/ar...

linjin200
7分钟前
0
0
使用MaxCompute Java SDK运行安全相关命令

使用MaxCompute Console的同学,可能都使用过MaxCompute安全相关的命令。官方文档上有详细的MaxCompute 安全指南 ,并给出了安全相关语句汇总 。 简而言之, 权限管理 、 列级别访问控制 、 ...

阿里云云栖社区
12分钟前
0
0
中小公司的Java工程师应该如何逆袭冲进BAT?

(1)80% Java工程师都有的迷茫 这篇文章,跟大家聊一聊很多很多很多人问我的一个问题:中小公司的Java工程师应该如何规划准备,才能跳槽进入BAT这类一线互联网公司? 之所以我用了三个 “很...

Java填坑路
13分钟前
1
0
你的应用够安全吗?绿标2.0隐私权限详解

近日,最新一期的《绿色应用达标率调查报告》结果显示,应用在安全方面的通过率仅为57%,相较于其他四项标准通过率最低。其中隐私权限的过度获取是主要原因之一,需要开发者尽快完成整改。 ...

安卓绿色联盟
23分钟前
0
0
使用MaxCompute Java SDK运行安全相关命令

使用MaxCompute Console的同学,可能都使用过MaxCompute安全相关的命令。官方文档上有详细的MaxCompute安全指南,并给出了安全相关语句汇总。 简而言之,权限管理、列级别访问控制、项目空间...

阿里云官方博客
27分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部