From 2463dc3827e1cb3dac87ed334546ca2a57539595 Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Wed, 31 Jul 2024 17:15:45 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/ht-dev' into ht-dev

---
 src/main/java/com/dji/sample/patches/utils/ExcelUtil.java |   74 +++++++++++++++++++++++++++++++++++++
 1 files changed, 74 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/dji/sample/patches/utils/ExcelUtil.java b/src/main/java/com/dji/sample/patches/utils/ExcelUtil.java
new file mode 100644
index 0000000..1f0d644
--- /dev/null
+++ b/src/main/java/com/dji/sample/patches/utils/ExcelUtil.java
@@ -0,0 +1,74 @@
+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());
+        }
+
+}

--
Gitblit v1.9.3