首页 >excel操作 > 内容

开箱即用系列-工具包-tool-office-excel工具包使用说明

2023年1月27日 18:38

tool-office-excel工具包使用说明

基本功能说明

  1. excel导入导出.
  2. 提供3中title设置方式(模板类,模板字符串,模板文件).
  3. 提供按行列读取excel的方式.
  4. 支持Hibernate-validate对字段的校验.
  5. 支持数据格式化配置.
  6. 支持日期格式化处理.
  7. 支持模板方式导入导出excel.
  8. 支持excel枚举值配置

项目地址

https://gitee.com/run2dream/tools/tree/master/tool-office/tool-office-excel

maven依赖

<dependency>    <groupId>com.bruce.tool</groupId>    <artifactId>tool-office-excel</artifactId>    <version>7.0.RELEASE</version></dependency>

基本功能(支持xls和xlsx)

1.excel文件导出    支持自定义title导出        2种不同的方式,设置excel表头    支持指定模板文件导出        指定excel模板文件流2.excel文件导入    支持自定义title导入        2种不同的方式,设置excel表头    支持指定列,指定行导入(无title)3.特殊功能    支持excel内容转html(支持xls和xlsx)    支持导出单元格下拉值设置

功能样例-格式化类说明-源码

public class Interface2 {    /**     * 接口名称     */    @Header(name = "接口名称",prompt = "测试提示内容",dropdown = {"3213","djdjd","哈哈"},order = "1",align = HorizontalAlignment.LEFT)    @NotNull(message = "接口名称不能为空")    @Length(min = 1,max = 15,message = "接口名称长度大于1")    private String name;    /**     * 请求url地址     */    @Header(name = "请求url地址",order = "2",prompt = "测试提示内容")    @NotNull(message = "接口地址不能为空")    @Length(min = 10,max = 100,message = "接口地址大于10")    private String url;    /**     * 请求参数json数据     */    @Header(name = "请求参数json数据",order = "4")    private String params;    /**     * 参数请求类型:json/form     */    @Header(name = "参数请求类型")    private Integer paramType;    /**     * 请求方式:get/post     */    @Header(name = "请求方式",order = "10")    private String requestType;    /**     * 期望的返回结果code     */    @Header(name = "期望的返回结果code",order = "-1")    private String expectCode;    /**     * 完整的返回结果     */    @Header(name = "完整的返回结果",order = "-2")    private String result;    @Header(name ="价格", format = Format.DECIMAL_2, regex = "[0-9]+(\\.[0-9]{0,5})?" , align = HorizontalAlignment.LEFT)    private Double price;    @Header(name = "日期",type = Date.class, format = "yyyy-MM-dd")    private String date;}

功能样例-"格式化类"说明-补充

@Header注解:1.模板类,字段名和Header注解的name值形成对应关系.2.Header注解中,order可设置字段导出时候的顺序3.模板中format可实现对excel单元格的格式化4.模板中regex可实现对excel单元格值的校验5.每一个字段都支持Hibernate-validate校验注解6.支持对日期格式的自动格式化7.支持对日期的指定格式模板的格式化8.支持单元格对齐方式设置

功能样例-导出-用"格式化类"作为模板

datas数据列表,自己初始化FileOutputStream out = new FileOutputStream(System.getProperty("user.home")+"/Desktop/test5.xls");        Map<String,List<Object>> handler = Maps.newHashMap();        handler.put("请求url地址",Lists.newArrayList("百度地址","阿里地址","本地地址","吃瓜地址"));        Excels.Export()                .config(Version.XLS,200)                .addSheet(datas,Interface2.class,handler,"东成西就","操作说明:\n" +                        "1、导入模板格式固定,不得删除标题行,不得对标题行做任何编辑,不得插入、删除标题列,不得调整标题行和列的位置。\n" +                        "2、导入模板内容仅包括:楼号、单元/楼层、房间号、房间面积、房东姓名、房东手机号、房东身份证号码,7项,不得任意添加其他导入项目,所有项均为必填项。\n" +                        "3、【楼号】:支持中文、数字和英文,如果是社区,需要输入“11号楼”或“11栋”之类的内容,如果是写楼楼,可以输入“A座”之类的内容; 但无论输入什么内容,必须所有内容统一,否则为显示为2个楼号;\n" +                        "4、【单元/楼层】【房间号】:仅支持数字和英文;   最终展示的结果为是“5#402”; 如果是社区,建议是“单元号#房间号”,如果是楼层,建议是“楼层#房间号”;\n" +                        "4、【房间面职】:主要为了区分房间的户型,不需要精确输入房间面积;\n" +                        "5、【房东姓名】:支持汉字、英文、数字;【房东手机号】:仅支持11位阿拉伯数字,数字前后、之间不得有空格或其他字符;   【房东身份证号】:身份证号码必须是正确的身份证号,错误的号码将无法上传;\n" +                        "6、导入模板各项内容不符合编辑规则的,导入时,系统将自动跳过,并计为导入失败数据;")                .addSheet(datas,Interface2.class,"西就东成")                .toStream(out);

功能样例-导出-用字符串title作为模板

FileOutputStream out = new FileOutputStream(System.getProperty("user.home")+"/Desktop/test5.xls");        String titles = "接口名称:name,请求url地址:url,请求参数json数据:params,参数请求类型:paramType,请求方式:requestType,期望的返回结果code:expectCode,完整的返回结果:result,价格:price,日期:date";        Excels.Export()                .config(Version.XLS,99)                .addSheet(datas,titles,"东成西就","操作说明:\n" +                        "1、导入模板格式固定,不得删除标题行,不得对标题行做任何编辑,不得插入、删除标题列,不得调整标题行和列的位置。\n" +                        "2、导入模板内容仅包括:楼号、单元/楼层、房间号、房间面积、房东姓名、房东手机号、房东身份证号码,7项,不得任意添加其他导入项目,所有项均为必填项。\n" +                        "3、【楼号】:支持中文、数字和英文,如果是社区,需要输入“11号楼”或“11栋”之类的内容,如果是写楼楼,可以输入“A座”之类的内容; 但无论输入什么内容,必须所有内容统一,否则为显示为2个楼号;\n" +                        "4、【单元/楼层】【房间号】:仅支持数字和英文;   最终展示的结果为是“5#402”; 如果是社区,建议是“单元号#房间号”,如果是楼层,建议是“楼层#房间号”;\n" +                        "4、【房间面职】:主要为了区分房间的户型,不需要精确输入房间面积;\n" +                        "5、【房东姓名】:支持汉字、英文、数字;【房东手机号】:仅支持11位阿拉伯数字,数字前后、之间不得有空格或其他字符;   【房东身份证号】:身份证号码必须是正确的身份证号,错误的号码将无法上传;\n" +                        "6、导入模板各项内容不符合编辑规则的,导入时,系统将自动跳过,并计为导入失败数据;")                .addSheet(datas,titles,"西就东成")                .toStream(out);

功能样例-导出-用excel文件模板作为表头

template文件里边包含表头FileInputStream template = new FileInputStream(System.getProperty("user.home")+"/Desktop/test5.xls");        FileOutputStream out = new FileOutputStream(System.getProperty("user.home")+"/Desktop/test6.xls");        Excels.Export()                .addSheet(datas,template)                .addSheet(datas,template)                .toStream(out);

功能样例-导入-用"格式化类"作为模板

List result = Excels.Import()                .config(new FileInputStream(System.getProperty("user.home")+"/Desktop/test1.xls"))                .addSheet(Interface2.class,0)                .addSheet(Interface2.class,1)                .addSheet(Interface2.class)                .onedata();        LogUtils.info(log,JsonUtils.objToStr(result));

功能样例-导入-用字符串title作为模板

String titles = "接口名称:name,请求url地址:url,请求参数json数据:params,参数请求类型:paramType,请求方式:requestType,期望的返回结果code:expectCode,完整的返回结果:result,价格:price";        List result = Excels.Import()                .config(new FileInputStream(System.getProperty("user.home")+"/Desktop/testone.xlsx"))                .addSheet(titles)                .onedata();        LogUtils.info(log,JsonUtils.objToStr(result));

功能样例-导入-指定列

List result = Excels.Import()                .config(new FileInputStream(System.getProperty("user.home")+"/Desktop/test1.xls"))                .addSheet(new Integer[]{1,2,3})                .onedata();        LogUtils.info(log,JsonUtils.objToStr(result));

功能样例-导入-指定行-指定列

List result = Excels.Import()                .config(new FileInputStream(System.getProperty("user.home")+"/Desktop/test1.xls"))                .addSheet(new Integer[]{2,3,4},new Integer[]{1,2,3})                .onedata();        LogUtils.info(log,JsonUtils.objToStr(result));

功能样例-导入-指定行列范围(矩阵)

List result = Excels.Import()                .config(new FileInputStream(System.getProperty("user.home")+"/Desktop/test1.xls"))                .addSheet(2,4,1,3)                .onedata();        LogUtils.info(log,JsonUtils.objToStr(result));


参考文章:https://blog.csdn.net/lzhlove/article/details/89081968

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时候联系我们修改或删除,在此表示感谢。

特别提醒:

1、请用户自行保存原始数据,为确保安全网站使用完即被永久销毁,如何人将无法再次获取。

2、如果上次文件较大或者涉及到复杂运算的数据,可能需要一定的时间,请耐心等待一会。

3、请按照用户协议文明上网,如果发现用户存在恶意行为,包括但不限于发布不合适言论妄图

     获取用户隐私信息等行为,网站将根据掌握的情况对用户进行限制部分行为、永久封号等处罚。

4、如果文件下载失败可能是弹出窗口被浏览器拦截,点击允许弹出即可,一般在网址栏位置设置

5、欢迎将网站推荐给其他人,网站持续更新更多功能敬请期待,收藏网站高效办公不迷路。

      



登录后回复

共有0条评论