将实体类写入excel

这一生的挚爱 提交于 2020-02-24 10:50:57

/**
* 将返回数据生成excel文件并上传ftp
*
* @param request
* @return
* @throws IOException
*/
public String writeWithHead(KmsFCRequest request) throws IOException {
OutputStream out = null;
String fileName = “”;
try {
fileName = generateTargetFile();
out = new FileOutputStream(fileName);
ExcelWriter writer = new ExcelWriter(out, ExcelTypeEnum.XLSX);
Sheet sheet1 = new Sheet(1, 0, ExcelPropertyIndexModel.class);
sheet1.setSheetName(“sheet1”);
List data = new ArrayList<>();
assignment(request, data);
writer.write(data, sheet1);
writer.finish();
log.info(“生成EXCEL文件成功”);
// 执行上传ftp
try (InputStream input = new FileInputStream(new File(fileName))😉 {
boolean ftpUp = ftpUtil.uploadFile(FTP_PATH, fileName, input);
log.info(“文件上传至ftp服务器成功!”);
if (ftpUp == true) {
log.info(“删除服务器上的文件开始!”);
boolean status = deleteFile(“F:\fault\123.txt”);
//boolean status = deleteDirectory(“F:\fault\123.txt”);
if (status == true) {
log.info(“删除服务器上的文件成功!”);
} else {
log.info(“删除服务器上的文件失败!”);
}
}

        } catch (Exception e) {
            log.error("文件上传至ftp服务器失败:[{}]", e);
        }
    } catch (Exception e) {
        log.error("生成EXCEL文件失败:[{}]", e);
    } finally {
        try {
            if (null != out) {
                out.close();
            }
        } catch (Exception e) {
            log.error("流关闭异常:[{}]", e);
        }
    }
    return fileName;
}

public static class ExcelPropertyIndexModel extends BaseRowModel {

    @ExcelProperty(value = "故障码的状态", index = 0)
    private String active;

    @ExcelProperty(value = "海拔", index = 1)
    private String altitude;
  
    public String getActive() {
        return active;
    }

    public void setActive(String active) {
        this.active = active;
    }

    public String getAltitude() {
        return altitude;
    }

    public void setAltitude(String altitude) {
        this.altitude = altitude;
    }

}

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!