zoukankan      html  css  js  c++  java
  • excel4j

    excel4j是基于POI封装的操作excel的工具,可以方便的对excel进行读写。

    1、读取

    可以直接读取结果到List<List<String>>

      List<List<String>> lists = ExcelUtils.getInstance().readExcel2List(path,0,0,0); 四个参数代表excel路径、从第几行开始读取(0是第一行)、一共读取几行(默认所有,0是读取一行)、sheet页index(默认0)

    可以通过注解读取每一列都是一个对象

      List<TestCase> testcase = ExcelUtils.getInstance().readExcel2Objects(path,TestCase.class,0,0); 四个参数代表excel路径、待绑定的类、EXCEL表头行(默认是0)、sheet页index(默认0)

    #TestCase.java
    @ExcelField(title = "是否开启", readConverter=IsRunConvert.class) private boolean run;

    如果excel列名是“是否开启”在对象中的名字就是run,IsRunConvert实现了ReadConvertible接口重写execRead方法,如果读取excel内容的过程中,读取的内容是“是”在对象中展示true

    package testexcel4j;
    import com.github.crab2died.converter.ReadConvertible;
    public class IsRunConvert implements ReadConvertible {
        @Override
        public Object execRead(String object) {
            if("是".equals(object)) {
                return true;
            }
            return false;
        }
    }

    2、写入(导出)  

       ExcelUtils.getInstance().exportObjects2Excel(cases, TestCase.class, true, "sheet0",true,"123456.xlsx"); 参数含义 导出内容、映射对象Class、是否导出表头、sheet页名称、是否是2007以上版本(默认是)、导出的名称及路径

        @ExcelField(title = "开关", writeConverter=WriteRunConvert.class)
        private boolean run;

    和读刚好相反如果传入的列表对象有run字段,写到excel中展示标题是开关。WriteRunConvert实现了WriteConvertible重写了execWrite方法,把写入的内容做一个转换

    package testexcel4j;
    import com.github.crab2died.converter.WriteConvertible;
    public class WriteRunConvert implements WriteConvertible{
        @Override
        public Object execWrite(Object object) {
            if(object!=null) {
                boolean result=Boolean.valueOf(object.toString());
                if(result) {
                    return "开启";
                }else {
                    return "未开启";
                }
            }
            return "未开启";
        }
    
    }
  • 相关阅读:
    DataGridView 移动行
    DataGridView 显示提示信息
    模块和类的区别
    C# 流总结
    很口语I'm on my way
    读书笔记_Effective_C++_条款二十三:宁以nonmember、nonfriend替换member函数
    PDB文件:每个开发人员都必须知道的
    qq农场,数据抓包分析,实现源码,图片讲解
    连连看外挂消去算法分析
    关于“服务器提交了协议冲突. Section=ResponseStatusLine"问题请
  • 原文地址:https://www.cnblogs.com/ysmdbk/p/11187941.html
Copyright © 2011-2022 走看看