[alibaba/easyexcel]导出只有数据没有表头

2024-05-23 795 views
4

导出只有数据没有表头???注解是这样的以此往下 @ExcelProperty(value = "协议号", index = 0) 请教下

回答

1

请贴全代码。或者参照demo再试试。

4

我现在也失效了 没有表头 ` @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;

} `

8

按照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();
}
2

请升级到最新版本使用。

8

使用写法3的话导出数据仍然没有表头,请问是什么原因呢?

7

我也是导出数据没有表头 @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; }