jxls介绍--simple Bean

    技术2025-01-25  31

    simple Bean

    介绍

    这一章描述了访问对象属性的语法,满足了规定的语法才能使 jXLS 引擎正确的处理 XLS 模板。

    下面的代码示例了如何将参数传递个 XLSTransformer

    Department department;

    ... //initialization

    Map beans = new HashMap();

    beans.put("department", department);

    XLSTransformer transformer = new XLSTransformer();

    transformer.transformXLS(xlsTemplateFileName, beans, outputFileName);

    Department 对象

    public class Department {

        private String name;

        private Employee chief;

        private List staff = new ArrayList();

        public Department(String name) {

            this.name = name;

        }

        public Department(String name, Employee chief, List staff) {

            this.name = name;

            this.chief = chief;

            this.staff = staff;

        }

        public void addEmployee(Employee employee) {

            staff.add(employee);

        }

        public String getName() {

            return name;

        }

        public void setName(String name) {

            this.name = name;

        }

        public Employee getChief() {

            return chief;

        }

        public void setChief(Employee chief) {

            this.chief = chief;

        }

        public List getStaff() {

              return staff;

        }

        public void setStaff(List staff) {

            this.staff = staff;

          }

    }

    基本属性访问

    Excel 文件中使用注释来访问对象的属性:

    ${department.name}

    jXLS 引擎将会查找 Map key 值是否一个叫“ department ”的,如果有将尝试取出 name 的属性并填入相应的 Excel 的单元格中。

    同样也可以访问更复杂的对象。例如输出 department chief name

    ${department.chief.name}

    可以达到对象属性的任意深度。例如:

    ${bean.bean1.bean2.bean3.bean4.bean5.bean6.bean7.bean8.bean9.beanX.property1}

     

    单个单元格使用多个属性

    我们也可以在一个单元格中访问多个属性,例如:

    Employee: ${employee.name} - ${employee.age} years

    它的输出结果如下:

    Employee: John - 35 years

    最新回复(0)