diff --git a/das/pom.xml b/das/pom.xml
index d4d40234..df873674 100644
--- a/das/pom.xml
+++ b/das/pom.xml
@@ -32,6 +32,7 @@
3.4.4
5.4.3
8.4.3
+ 1.5.3
@@ -208,7 +209,11 @@
minio
${minio.version}
-
+
+ org.jfree
+ jfreechart
+ ${jfreechart.version}
+
diff --git a/das/src/main/java/com/das/modules/page/controller/StatisticalAnalysisController.java b/das/src/main/java/com/das/modules/page/controller/StatisticalAnalysisController.java
new file mode 100644
index 00000000..3e303709
--- /dev/null
+++ b/das/src/main/java/com/das/modules/page/controller/StatisticalAnalysisController.java
@@ -0,0 +1,58 @@
+package com.das.modules.page.controller;
+
+
+import com.das.modules.page.domian.dto.TrendAnalyseDto;
+import com.das.modules.page.domian.dto.TrendContrastDto;
+import com.das.modules.page.service.StatisticalAnalysisService;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@Slf4j
+@RequestMapping("/api/page/statistical")
+@RestController
+public class StatisticalAnalysisController {
+
+ @Autowired
+ private StatisticalAnalysisService statisticalAnalysisService;
+
+
+
+ /**
+ * 趋势分析Excel导出
+ * @param param 查询条件
+ * @return TD数据库数据
+ */
+ @PostMapping("/trendAnalyseExport")
+ public void trendAnalyseExport(@RequestBody List param ,HttpServletRequest request, HttpServletResponse response) {
+ statisticalAnalysisService.trendAnalyseExport(param, request, response);
+ }
+
+ /**
+ * 功率曲线Excel导出
+ * @param param 查询条件
+ * @return TD数据库数据
+ */
+ @PostMapping("/powerCurveExport")
+ public void powerCurveExport(@RequestBody TrendAnalyseDto param ,HttpServletRequest request, HttpServletResponse response) {
+ statisticalAnalysisService.powerCurveExport(param, request, response);
+ }
+
+
+ /**
+ * 趋势对比Excel导出
+ * @param param 查询条件
+ * @return TD数据库数据
+ */
+ @PostMapping("/trendContrastExport")
+ public void trendContrastExport(@RequestBody TrendContrastDto param , HttpServletRequest request, HttpServletResponse response) {
+ statisticalAnalysisService.trendContrastExport(param, request, response);
+ }
+}
diff --git a/das/src/main/java/com/das/modules/page/domian/dto/TrendAnalyseDto.java b/das/src/main/java/com/das/modules/page/domian/dto/TrendAnalyseDto.java
new file mode 100644
index 00000000..079fe844
--- /dev/null
+++ b/das/src/main/java/com/das/modules/page/domian/dto/TrendAnalyseDto.java
@@ -0,0 +1,55 @@
+package com.das.modules.page.domian.dto;
+
+import com.das.modules.data.domain.SnapshotValueQueryParam;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 时序数据查询实体
+ */
+@Data
+public class TrendAnalyseDto
+{
+ /**
+ * 开始时间
+ */
+ private String startTime;
+
+ /**
+ * 结束时间
+ */
+ private String endTime;
+
+ /**
+ * 间隔
+ */
+ private String interval;
+
+ /**
+ * 填充模式
+ */
+ private String fill;
+
+
+ /**
+ * 时间条件名称
+ */
+ private String timeName;
+
+
+ /**
+ * 设备属性列表
+ */
+ private List devices;
+
+ /**
+ * 制造商
+ */
+ private String madeinfactory;
+
+ /**
+ * 模型
+ */
+ private String model;
+}
diff --git a/das/src/main/java/com/das/modules/page/domian/dto/TrendContrastDto.java b/das/src/main/java/com/das/modules/page/domian/dto/TrendContrastDto.java
new file mode 100644
index 00000000..9bf82c14
--- /dev/null
+++ b/das/src/main/java/com/das/modules/page/domian/dto/TrendContrastDto.java
@@ -0,0 +1,43 @@
+package com.das.modules.page.domian.dto;
+
+import com.das.modules.data.domain.SnapshotValueQueryParam;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 时序数据查询实体
+ */
+@Data
+public class TrendContrastDto
+{
+ /**
+ * 开始时间
+ */
+ private String startTime;
+
+ /**
+ * 结束时间
+ */
+ private String endTime;
+
+ /**
+ * 间隔
+ */
+ private String interval;
+
+ /**
+ * 填充模式
+ */
+ private String fill;
+
+
+
+
+ /**
+ * 设备属性列表
+ */
+ private List devices;
+
+
+}
diff --git a/das/src/main/java/com/das/modules/page/service/StatisticalAnalysisService.java b/das/src/main/java/com/das/modules/page/service/StatisticalAnalysisService.java
new file mode 100644
index 00000000..ec4e5193
--- /dev/null
+++ b/das/src/main/java/com/das/modules/page/service/StatisticalAnalysisService.java
@@ -0,0 +1,30 @@
+package com.das.modules.page.service;
+
+import com.das.modules.page.domian.dto.TrendAnalyseDto;
+import com.das.modules.page.domian.dto.TrendContrastDto;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+
+import java.util.List;
+
+public interface StatisticalAnalysisService {
+
+ /**
+ * 趋势分析Excel导出
+ * @param param 查询条件
+ */
+ void trendAnalyseExport(List param, HttpServletRequest request, HttpServletResponse response);
+
+ /**
+ * 功率曲线Excel导出
+ * @param param 查询条件
+ */
+ void powerCurveExport(TrendAnalyseDto param, HttpServletRequest request, HttpServletResponse response);
+
+ /**
+ * 趋势对比Excel导出
+ * @param param 查询条件
+ */
+ void trendContrastExport(TrendContrastDto param, HttpServletRequest request, HttpServletResponse response);
+
+}
diff --git a/das/src/main/java/com/das/modules/page/service/impl/StatisticalAnalysisServiceImpl.java b/das/src/main/java/com/das/modules/page/service/impl/StatisticalAnalysisServiceImpl.java
new file mode 100644
index 00000000..70ea00e2
--- /dev/null
+++ b/das/src/main/java/com/das/modules/page/service/impl/StatisticalAnalysisServiceImpl.java
@@ -0,0 +1,567 @@
+package com.das.modules.page.service.impl;
+
+import cn.hutool.core.io.IoUtil;
+import cn.hutool.core.util.RandomUtil;
+import cn.hutool.poi.excel.ExcelUtil;
+import cn.hutool.poi.excel.ExcelWriter;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.das.common.exceptions.ServiceException;
+import com.das.common.utils.BeanCopyUtils;
+import com.das.modules.curve.domain.entity.CurveItemEntity;
+import com.das.modules.curve.service.TheoreticalPowerCurveService;
+import com.das.modules.data.domain.SnapshotValueQueryParam;
+import com.das.modules.data.domain.TSValueQueryParam;
+import com.das.modules.data.service.DataService;
+import com.das.modules.equipment.entity.SysIotModelField;
+import com.das.modules.equipment.mapper.SysIotModelFieldMapper;
+import com.das.modules.page.domian.dto.TrendAnalyseDto;
+import com.das.modules.page.domian.dto.TrendContrastDto;
+import com.das.modules.page.service.StatisticalAnalysisService;
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import org.apache.poi.ss.usermodel.HorizontalAlignment;
+import org.apache.poi.ss.usermodel.VerticalAlignment;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.usermodel.XSSFClientAnchor;
+import org.apache.poi.xssf.usermodel.XSSFDrawing;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.jfree.chart.ChartFactory;
+import org.jfree.chart.ChartUtils;
+import org.jfree.chart.JFreeChart;
+import org.jfree.chart.axis.CategoryAxis;
+import org.jfree.chart.axis.CategoryLabelPositions;
+import org.jfree.chart.plot.CategoryPlot;
+import org.jfree.chart.plot.PlotOrientation;
+import org.jfree.chart.renderer.category.CategoryItemRenderer;
+import org.jfree.chart.title.LegendTitle;
+import org.jfree.chart.title.TextTitle;
+import org.jfree.data.category.DefaultCategoryDataset;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.awt.*;
+import java.io.File;
+import java.io.IOException;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+import java.text.SimpleDateFormat;
+import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
+
+@Service
+public class StatisticalAnalysisServiceImpl implements StatisticalAnalysisService {
+
+ @Autowired
+ DataService dataService;
+
+ @Autowired
+ private TheoreticalPowerCurveService theoreticalPowerCurveService;
+
+ @Autowired
+ private SysIotModelFieldMapper sysIotModelFieldMapper;
+
+ private SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
+
+ /**
+ * 趋势分析Excel导出
+ *
+ * @param param 查询条件
+ */
+ @Override
+ public void trendAnalyseExport(List param, HttpServletRequest request, HttpServletResponse response) {
+ //根据条件获取历史数据
+ List