/**
  * 读取内容到List,可以是List<Map>也可以是List<Object>
  *
  * @param sortedColumns 从第0列开始,数组中每个元素对应type中的一个字段,元素为空则忽略
  * @param type 读取数据存放的类型
  * @param <T> 泛型
  * @return
  */
 public <T> List<T> read(String[] sortedColumns, Class<? extends T> type) {
   List<T> list = new ArrayList();
   for (int i = startRow; i < tableBean.getRowCount(); i++) {
     Object bean =
         Map.class.isAssignableFrom(type) ? new HashMap() : Reflections.instance(type.getName());
     for (int j = 0; j < sortedColumns.length; j++) {
       String column = sortedColumns[j];
       if (ObjectHelper.isNotEmpty(column)) {
         CellBean cellBean = tableBean.getCellBean(i, j);
         if (cellBean != null) {
           Cell cell = cellBean.getCell();
           if (cell == null) {
             cell = sheet.getRow(i).createCell(j);
           }
           if (bean instanceof Map) {
             FieldUtils.setFieldValue(bean, "cell" + column, cell);
             if (ObjectHelper.isNotEmpty(cellBean.getContent())) {
               FieldUtils.setFieldValue(bean, column, cellBean.getContent());
             }
           } else {
             if (bean instanceof BaseExcelVo) {
               BaseExcelVo baseExcelVo = ((BaseExcelVo) bean);
               baseExcelVo.setCell(column, cell);
               baseExcelVo.setRow(i);
               baseExcelVo.setCol(j);
             }
             Field accessibleField = Reflections.getAccessibleField(bean, column);
             Class<?> fieldType = accessibleField.getType();
             Object value = cellBean.getContent();
             if (!fieldType.equals(String.class)) {
               value = ConverString.asType(fieldType, cellBean.getContent());
             }
             if (ObjectHelper.isNotEmpty(cellBean.getContent())) {
               FieldUtils.setFieldValue(bean, column, value);
             }
           }
         }
       }
     }
     list.add((T) bean);
   }
   return list;
 }