为什么嵌入之后下载不了了

@Value(“${dataease.path.exportData:/opt/dataease2.0/data/exportData/}”)

private String exportData_path;

public void startViewTask(CoreExportTask exportTask, ChartExcelRequest request) {

    String dataPath = exportData_path + exportTask.getId();

    File directory = new File(dataPath);

    boolean isCreated = directory.mkdir();

    TokenUserBO tokenUserBO = AuthUtils.getUser();

    Future future = scheduledThreadPoolExecutor.submit(() -> {

        LicenseUtil.validate();

        AuthUtils.setUser(tokenUserBO);

        try {

            exportTask.setExportStatus("IN_PROGRESS");

            exportTaskMapper.updateById(exportTask);

            Workbook wb = new SXSSFWorkbook();

            CellStyle cellStyle = wb.createCellStyle();

            Font font = wb.createFont();

            font.setFontHeightInPoints((short) 12);

            font.setBold(true);

            cellStyle.setFont(font);

            cellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());

            cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);



            List<Object[]> details = new ArrayList<>();

            Sheet detailsSheet;

            Integer sheetIndex = 1;

            if ("dataset".equals(request.getDownloadType()) || request.getViewInfo().getType().equalsIgnoreCase("table-info") || request.getViewInfo().getType().equalsIgnoreCase("table-normal")) {

                request.getViewInfo().getChartExtRequest().setPageSize(Long.valueOf(extractPageSize));

                ChartViewDTO chartViewDTO = chartDataServer.findExcelData(request);

                for (long i = 1; i < chartViewDTO.getTotalPage() + 1; i++) {

                    request.getViewInfo().getChartExtRequest().setGoPage(i);

                    chartDataServer.findExcelData(request);

                    details.addAll(request.getDetails());

                    if (((details.size() + extractPageSize) > sheetLimit) || i == chartViewDTO.getTotalPage()) {

                        detailsSheet = wb.createSheet("数据" + sheetIndex);

                        Integer[] excelTypes = request.getExcelTypes();

                        ViewDetailField[] detailFields = request.getDetailFields();

                        Object[] header = request.getHeader();

                        request.getViewInfo().setXAxis(request.getViewInfo().getXAxis().stream().filter(ele -> !ele.isHide()).collect(Collectors.toList()));

                        request.getViewInfo().setYAxis(request.getViewInfo().getYAxis().stream().filter(ele -> !ele.isHide()).collect(Collectors.toList()));

                        request.getViewInfo().setXAxisExt(request.getViewInfo().getXAxisExt().stream().filter(ele -> !ele.isHide()).collect(Collectors.toList()));

                        request.getViewInfo().setYAxisExt(request.getViewInfo().getYAxisExt().stream().filter(ele -> !ele.isHide()).collect(Collectors.toList()));

                        request.getViewInfo().setExtStack(request.getViewInfo().getExtStack().stream().filter(ele -> !ele.isHide()).collect(Collectors.toList()));

                        List<ChartViewFieldDTO> xAxis = new ArrayList<>();

                        xAxis.addAll(request.getViewInfo().getXAxis());

                        xAxis.addAll(request.getViewInfo().getYAxis());

                        xAxis.addAll(request.getViewInfo().getXAxisExt());

                        xAxis.addAll(request.getViewInfo().getYAxisExt());

                        xAxis.addAll(request.getViewInfo().getExtStack());

                        xAxis.addAll(request.getViewInfo().getDrillFields());

                        header = Arrays.stream(request.getHeader()).filter(item -> xAxis.stream().map(d -> StringUtils.isNotBlank(d.getChartShowName()) ? d.getChartShowName() : d.getName()).toList().contains(item)).toArray();

                        details.add(0, header);

                        ChartDataServer.setExcelData(detailsSheet, cellStyle, header, details, detailFields, excelTypes, request.getViewInfo(), wb);

                        sheetIndex++;

                        details.clear();

                        exportTask.setExportStatus("IN_PROGRESS");

                        double exportProgress = (double) (i / (chartViewDTO.getTotalPage() + 1));

                        DecimalFormat df = new DecimalFormat("#.##");

                        String formattedResult = df.format((exportProgress) * 100);

                        exportTask.setExportProgress(formattedResult);

                        exportTaskMapper.updateById(exportTask);

                    }

                }

            } else {

                downloadNotTableInfoData(request, wb);

            }

            this.addWatermarkTools(wb);



            try (FileOutputStream outputStream = new FileOutputStream(dataPath + "/" + exportTask.getId() + ".xlsx")) {

                wb.write(outputStream);

                outputStream.flush();

            }

            wb.close();

            exportTask.setExportProgress("100");

            exportTask.setExportStatus("SUCCESS");

            setFileSize(dataPath + "/" + exportTask.getId() + ".xlsx", exportTask);

        } catch (Exception e) {

            exportTask.setMsg(e.getMessage());

            LogUtil.error("Failed to export data", e);

            exportTask.setExportStatus("FAILED");

        } finally {

            exportTaskMapper.updateById(exportTask);

        }

    });

    Running_Task.put(exportTask.getId(), future);

}

/opt/dataease2.0/data/exportData/1188091683435319296

导出excel拼接逻辑

/opt/dataease2.0/data/exportData+exportTask.getId()/+exportTask.getId()+.xlsx

导出excel实际绝对路径

/opt/dataease2.0/data/exportData1188091683435319296/1188091683435319296.xlsx

Dockerfile

FROM registry.cn-qingdao.aliyuncs.com/dataease/alpine-openjdk21-jre

STOPSIGNAL SIGTERM

RUN mkdir -p /opt/apps/config \

/opt/dataease2.0/drivers/ \

/opt/dataease2.0/cache/ \

/opt/dataease2.0/data/map \

/opt/dataease2.0/data/static-resource/ \

/opt/dataease2.0/data/appearance/ \

/opt/dataease2.0/data/exportData/ \

/opt/dataease2.0/data/excel/ \

/opt/dataease2.0/data/i8n/ \

/opt/dataease2.0/data/plugin/

ADD drivers/* /opt/dataease2.0/drivers/

ADD mapFiles/ /opt/dataease2.0/data/map/

ADD staticResource/ /opt/dataease2.0/data/static-resource/

WORKDIR /opt/apps

ADD core/core-backend/target/CoreApplication.jar /opt/apps/app.jar

ENV JAVA_APP_JAR=/opt/apps/app.jar

ENV RUNNING_PORT=8100

ENV JAVA_OPTIONS=“-Dfile.encoding=utf-8 -Dloader.path=/opt/apps -Dspring.config.additional-location=/opt/apps/config/”

HEALTHCHECK --interval=15s --timeout=5s --retries=20 --start-period=30s CMD nc -zv 127.0.0.1 $RUNNING_PORT

CMD [“/deployments/run-java.sh”]


如果是嵌入式版可以去售后群问一下,二开的需要自己研究一下