Results 90 comments of LSL1618

应该是默认的单元格数据转换器的锅,你试试 [自定义转换器](https://easyexcel.opensource.alibaba.com/docs/current/quickstart/read#%E8%87%AA%E5%AE%9A%E4%B9%89%E8%BD%AC%E6%8D%A2%E5%99%A8),可参考这几个类 `com.alibaba.excel.converters.date.DateStringConverter` `com.alibaba.excel.converters.date.DateNumberConverter` `com.alibaba.excel.converters.date.DateDateConverter`

我的是这样的,正常使用 ``` com.alibaba easyexcel 3.3.4 org.apache.poi poi org.apache.poi poi-ooxml org.apache.poi poi-ooxml-schemas org.apache.logging.log4j log4j-api 2.22.0 org.apache.poi poi 5.2.5 org.apache.logging.log4j log4j-api org.apache.poi poi-ooxml 5.2.5 org.apache.poi poi-ooxml-schemas 4.1.2 ```

这是我的,仅供参考: ``` com.alibaba easyexcel 3.3.4 org.apache.poi poi org.apache.poi poi-ooxml org.apache.poi poi-ooxml-schemas org.apache.logging.log4j log4j-api 2.22.0 org.apache.poi poi 5.2.5 org.apache.logging.log4j log4j-api org.apache.poi poi-ooxml 5.2.5 org.apache.poi poi-ooxml-schemas 4.1.2 ```

说明表头行存在27个有效的单元格,数据行存在29个有效的单元格,多出2个没有内容的单元格。

`List`类型的表头应该这样构建才对: ``` // 此处举例为2行表头 List multiHeader = new ArrayList(); multiHeader.add(Arrays.asList("基础信息", "姓名")); multiHeader.add(Arrays.asList("基础信息", "年龄")); multiHeader.add(Arrays.asList("详细信息", "地址")); multiHeader.add(Arrays.asList("详细信息", "邮箱")); multiHeader.add(Arrays.asList("详细信息", "电话")); ``` 每一个子集合中的第一个元素表示第一行表头,第二个元素表示第二行表头,以此类推。 相邻且相同名称的分组表头会自动合并。

内容为空,不代表单元格为空。

> 已解决,需要使用简单数据模式才可以,文档写的很模糊 `isSimpleData`这个属性的说明确实解释得比较模糊,应该解释为是否平级数据结构或者层级数据结构,这样会更好理解。

Excel软件的问题,不管是Office还是WPS,都喜欢对一些数据(日期时间数据、纯数字数据)进行自动格式处理,美其名曰为了你好,最讨厌这种打着你的旗号偷偷帮你干活的行为。你把Excel文件用文本编辑器打开看一下文本内容,可能就知道是怎么回事了。`exportTemplet`这个属性可能有用。