package com.dji.sample.patches.utils;
|
|
import com.dji.sample.patches.model.entity.LotInfo;
|
import org.apache.poi.ss.usermodel.*;
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
|
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayOutputStream;
|
import java.io.IOException;
|
import java.text.SimpleDateFormat;
|
import java.util.List;
|
|
public class ExcelUtil {
|
|
public static ByteArrayInputStream exportLotInfoToExcel(List<LotInfo> lotInfos) throws IOException {
|
// 创建 Excel 工作簿和工作表
|
Workbook workbook = new XSSFWorkbook();
|
Sheet sheet = workbook.createSheet("LotInfo");
|
|
// 写入表头
|
Row headerRow = sheet.createRow(0);
|
String[] headers = {
|
"ID", "Workspace ID", "BSM", "DKLX", "XZQDM", "XMC", "DKBH", "DKMC", "DKMJ", "SFBHZDK",
|
"XZB", "YZB", "BZ", "KZXX", "DKFW", "SJLX", "Is Plan", "Task Name", "Task ID", "Investigate",
|
"Is Push", "User Name", "Create Time", "Update Time"
|
};
|
for (int i = 0; i < headers.length; i++) {
|
Cell cell = headerRow.createCell(i);
|
cell.setCellValue(headers[i]);
|
}
|
|
// 日期格式化
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
// 写入数据
|
int rowCount = 1;
|
for (LotInfo lotInfo : lotInfos) {
|
Row row = sheet.createRow(rowCount++);
|
row.createCell(0).setCellValue(lotInfo.getId());
|
row.createCell(1).setCellValue(lotInfo.getWorkspaceId());
|
row.createCell(2).setCellValue(lotInfo.getBsm());
|
row.createCell(3).setCellValue(lotInfo.getDklx());
|
row.createCell(4).setCellValue(lotInfo.getXzqdm());
|
row.createCell(5).setCellValue(lotInfo.getXmc());
|
row.createCell(6).setCellValue(lotInfo.getDkbh());
|
row.createCell(7).setCellValue(lotInfo.getDkmc());
|
row.createCell(8).setCellValue(lotInfo.getDkmj() != null ? lotInfo.getDkmj() : 0.0);
|
row.createCell(9).setCellValue(lotInfo.getSfbhzdk());
|
row.createCell(10).setCellValue(lotInfo.getXzb() != null ? lotInfo.getXzb() : 0.0);
|
row.createCell(11).setCellValue(lotInfo.getYzb() != null ? lotInfo.getYzb() : 0.0);
|
row.createCell(12).setCellValue(lotInfo.getBz());
|
row.createCell(13).setCellValue(lotInfo.getKzxx());
|
row.createCell(14).setCellValue(lotInfo.getDkfw());
|
row.createCell(15).setCellValue(lotInfo.getSjlx());
|
row.createCell(16).setCellValue(lotInfo.getIsPlan());
|
row.createCell(17).setCellValue(lotInfo.getTaskName());
|
row.createCell(18).setCellValue(lotInfo.getTaskId());
|
row.createCell(19).setCellValue(lotInfo.getInvestigate());
|
row.createCell(20).setCellValue(lotInfo.getIsPush());
|
row.createCell(21).setCellValue(lotInfo.getUserName());
|
row.createCell(22).setCellValue(lotInfo.getCreateTime() != null ? dateFormat.format(lotInfo.getCreateTime()) : "");
|
row.createCell(23).setCellValue(lotInfo.getUpdateTime() != null ? dateFormat.format(lotInfo.getUpdateTime()) : "");
|
}
|
|
// 写入到 ByteArrayOutputStream
|
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
|
workbook.write(outputStream);
|
workbook.close();
|
outputStream.close();
|
|
return new ByteArrayInputStream(outputStream.toByteArray());
|
}
|
|
}
|