导出只有数据没有表头???注解是这样的以此往下 @ExcelProperty(value = "协议号", index = 0) 请教下
[alibaba/easyexcel]导出只有数据没有表头
回答
请贴全代码。或者参照demo再试试。
我现在也失效了 没有表头 ` @Data @ColumnWidth(50) public class DeviceExcel {
@ExcelProperty("序号")
private String no;
@ExcelProperty("隶属设施")
private String facility;
@ExcelProperty("隶属标签")
private String label;
@ExcelProperty("设备名称")
private String name;
@ExcelProperty("设备标签")
private String deviceLabel;
@ExcelProperty("type")
private String type;
@ExcelProperty("经度")
private String longitude;
@ExcelProperty("纬度")
private String latitude;
@ExcelProperty("单位")
private String unit;
} `
按照demo试了下,导出数据是正常的,我用的是当前master分支的代码,你们是不是哪个地方没弄对?
@Data @ColumnWidth(50) public class DemoData { @ExcelProperty(value = "字符串标题", index = 0) private String string; @ExcelProperty(value = "日期标题", index = 1) private Date date; @ExcelProperty(value = "数字标题", index = 2) private Double doubleData; /**
- 忽略这个字段 */ @ExcelIgnore private String ignore; }
@Test public void simpleWrite() { // 写法1 String fileName = TestFileUtil.getPath() + "simpleWrite" + System.currentTimeMillis() + ".xlsx"; // 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭 // 如果这里想使用03 则 传入excelType参数即可 EasyExcel.write(fileName, DemoData.class).sheet("模板").doWrite(data());
// 写法2
fileName = TestFileUtil.getPath() + "simpleWrite" + System.currentTimeMillis() + ".xlsx";
// 这里 需要指定写用哪个class去写
ExcelWriter excelWriter = EasyExcel.write(fileName, DemoData.class).build();
WriteSheet writeSheet = EasyExcel.writerSheet("模板").build();
excelWriter.write(data(), writeSheet);
/// 千万别忘记finish 会帮忙关闭流
excelWriter.finish();
}
请升级到最新版本使用。
使用写法3的话导出数据仍然没有表头,请问是什么原因呢?
我也是导出数据没有表头 @Test public void simpleWrite() { EasyExcel.write("test_write.xlsx", EasyExcel.class).sheet("sheet1").doWrite(data()); }
private List<ExcelDTO> data() {
List<ExcelDTO> list = ListUtils.newArrayList();
for (int i = 0; i < 10000; i++) {
ExcelDTO data = new ExcelDTO();
data.setName("字符串" + i);
data.setAge(i+10);
data.setSex(SexEnum.MAN);
list.add(data);
}
return list;
}
@Data public class ExcelDTO { @ExcelProperty({"主标题", "字符串标题"}) @ColumnWidth(500) public String name; @ExcelProperty({"主标题", "字符串标题"}) public Integer age; @ExcelProperty(value = {"主标题", "字符串标题"},converter = EnumConvert.class) public SexEnum sex; }