code: @SuppressWarnings({ "rawtypes", "unchecked" })
  	public ExcelWriter write(Iterable<?> data, Comparator<String> comparator) {
  		Assert.isFalse(this.isClosed, "ExcelWriter has been closed!");
  		boolean isFirstRow = true;
  		Map<?, ?> map;
  		for (Object obj : data) {
  			if (obj instanceof Map) {
  				map = new TreeMap<>(comparator);
  				map.putAll((Map) obj);
  			} else {
  				map = BeanUtil.beanToMap(obj, new TreeMap<String, Object>(comparator), false, false);
  			}
  			writeRow(map, isFirstRow);
  			if (isFirstRow) {
  				isFirstRow = false;
  			}
  		}
  		return this;
  	}
docs: 写出数据，本方法只是将数据写入Workbook中的Sheet，并不写出到文件<br>
  写出的起始行为当前行号，可使用{@link #getCurrentRow()}方法调用，根据写出的的行数，当前行号自动增加<br>
  样式为默认样式，可使用{@link #getCellStyle()}方法调用后自定义默认样式<br>
  data中元素支持的类型有：
  
  <p>
  1. Map，既元素为一个Map，第一个Map的keys作为首行，剩下的行为Map的values，data表示多行 <br>
  2. Bean，既元素为一个Bean，第一个Bean的字段名列表会作为首行，剩下的行为Bean的字段值列表，data表示多行 <br>
  </p>
  
  @param data 数据
  @param comparator 比较器，用于字段名的排序
  @return this
  @since 3.2.3