/**
* @param excel 数据
*/
@Override
public void write(circuitExcel excel) {
String funName = excel.getFunName();
List<linkInfo> linkInfo = excel.getLinkInfo();
linkInfo.get(0).setName(funName);
List<nodeInfo> nodeInfo = excel.getNodeInfo();
nodeInfo.get(0).setName(funName);
String fileName = System.currentTimeMillis() + ".xlsx";
ExcelWriter writer = null;
ByteArrayOutputStream os = null;
InputStream in = null;
try {
os = new ByteArrayOutputStream();
// 这里 指定文件
writer = EasyExcel.write(os).build();
WriteSheet writeSheet = EasyExcel.writerSheet(0, funName).head(linkInfo.class).build();
// 分页去数据库查询数据 这里可以去数据库查询每一页的数据
writer.write(linkInfo, writeSheet);
WriteSheet D01 = EasyExcel.writerSheet(1, "D01").head(nodeInfo.class).build();
writer.write(nodeInfo, D01);
//重点 必须finish才能拿到 要不然下载下来也是 格式损坏
writer.finish();
FTPClient ftpClient = ftpUtils.initFtpClient();
byte[] bytes = os.toByteArray();
in = new ByteArrayInputStream(bytes);
ftpUtils.uploadFiles(ftpClient, "/test", in, fileName);
ftpUtils.dropFtpClient(ftpClient);
} catch (Exception e) {
e.printStackTrace();
} finally {
getClose(in);
getClose(os);
// 千万别忘记close 会帮忙关闭流
if (writer != null) {
writer.close();
}
}
}
easyexcel 写 文件流存ftp
最新推荐文章于 2024-01-12 17:16:29 发布