Jelajahi Sumber

添加下载

523096025 4 tahun lalu
induk
melakukan
f38c7a67ef

+ 1 - 3
shiwan/video/src/main/java/com/huimv/video/controller/AllDataController.java

@@ -31,9 +31,7 @@ public class AllDataController {
     }
 
     @RequestMapping("/findAll")
-    public Result findAll(String startTime, String endTime, HttpServletResponse response){
-
-
+    public String findAll(String startTime, String endTime, HttpServletResponse response){
         return allDataService.findAll(startTime,endTime,response);
     }
 

+ 1 - 1
shiwan/video/src/main/java/com/huimv/video/service/AllDataService.java

@@ -17,5 +17,5 @@ public interface AllDataService {
 
     Result findByZSID(Integer zsid,String lqid);
 
-    Result findAll(String startTime, String  endTime, HttpServletResponse response);
+    String findAll(String startTime, String  endTime, HttpServletResponse response);
 }

+ 74 - 39
shiwan/video/src/main/java/com/huimv/video/service/impl/AllDataServiceImpl.java

@@ -11,20 +11,14 @@ import com.spire.xls.*;
 import com.spire.xls.charts.ChartSerie;
 import com.spire.xls.charts.ChartSeries;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.core.io.Resource;
-import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
-import org.springframework.core.io.support.ResourcePatternResolver;
 import org.springframework.stereotype.Service;
 
 import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletResponse;
 import java.awt.*;
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
 import java.io.IOException;
-import java.io.InputStream;
-import java.math.BigDecimal;
-import java.text.SimpleDateFormat;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
 import java.util.*;
 import java.util.List;
 
@@ -142,7 +136,7 @@ public class AllDataServiceImpl implements AllDataService {
 
     @Override
     @DS("thired")
-    public Result findAll(String startTime, String  endTime, HttpServletResponse response) {
+    public String findAll(String startTime, String  endTime, HttpServletResponse response) {
         //367  一栋全控   00000481
         //378   二栋      00000488
         //379   三栋      00000489
@@ -188,9 +182,49 @@ public class AllDataServiceImpl implements AllDataService {
              dl3result = dlList3.get(dlList3.size() - 1).getDQDL().subtract(dlList3.get(0).getDQDL()).doubleValue();
         }
 
-
-
-
+//        //创建Excel文档
+//        Workbook workbook = new Workbook();
+//        //获取第一个工作表
+//        Worksheet sheet = workbook.getWorksheets().get(0);
+//        //设置工作表名称
+//        sheet.setName("用水量用电量统计表");
+//
+//        //向工作表添加数据
+//        sheet.getRange().get("A1").setValue("栋舍");
+//        sheet.getRange().get("A2").setValue("1栋");
+//        sheet.getRange().get("A3").setValue("2栋");
+//        sheet.getRange().get("A4").setValue("3栋");
+//
+//        sheet.getRange().get("B1").setValue("用水量(吨)");
+//        sheet.getRange().get("B2").setNumberValue(sl1result);
+//        sheet.getRange().get("B3").setNumberValue(sl2result);
+//        sheet.getRange().get("B4").setNumberValue(sl3result);
+//
+//        sheet.getRange().get("C1").setValue("用电量(kw/h)");
+//        sheet.getRange().get("C2").setNumberValue(dl1result);
+//        sheet.getRange().get("C3").setNumberValue(dl2result);
+//        sheet.getRange().get("C4").setNumberValue(dl3result);
+//
+//        //添加图表到工作表
+//        Chart chart = sheet.getCharts().add(ExcelChartType.Column3DClustered);
+//        chart.setDataRange(sheet.getRange().get("B1:C4"));
+//        chart.setSeriesDataFromRange(false);
+//        chart.setTopRow(7);
+//        chart.setBottomRow(28);
+//        chart.setLeftColumn(3);
+//        chart.setRightColumn(11);
+//        chart.setChartTitle(startTime.substring(5,10)+ " 到 " + endTime.substring(5,10) + " 水电统计图");
+//        chart.getChartTitleArea().isBold(true);
+//        chart.getChartTitleArea().setSize(12);
+//        ChartSerie cs1 = chart.getSeries().get(0);
+//        cs1.setCategoryLabels(sheet.getRange().get("A2:A4"));
+//        ChartSeries series = chart.getSeries();
+//        for (int i = 0; i < series.size() ; i++) {
+//            ChartSerie cs = series.get(i);
+//            cs.getDataPoints().getDefaultDataPoint().getDataLabels().hasValue(true);
+//        }
+//        //添加数据表到图表
+//        chart.hasDataTable(true);
 
         Workbook workbook = new Workbook();
 
@@ -199,47 +233,54 @@ public class AllDataServiceImpl implements AllDataService {
 
         //将图表数据写入工作表
         sheet.getCellRange("A1").setValue("栋舍");
-        sheet.getCellRange("A2").setValue("一栋全控");
-        sheet.getCellRange("A3").setValue("二栋全控");
-        sheet.getCellRange("A4").setValue("三栋全控");
-        sheet.getCellRange("B1").setValue("用水量");
+        sheet.setColumnWidth(1,8);
+        sheet.getCellRange("A2").setValue("1栋");
+        sheet.getCellRange("A3").setValue("2栋");
+        sheet.getCellRange("A4").setValue("3栋");
+        sheet.getCellRange("B1").setValue("用水量(吨)");
+        sheet.setColumnWidth(2,13);
         sheet.getCellRange("B2").setNumberValue(sl1result);
+        System.out.println(sl1result);
         sheet.getCellRange("B3").setNumberValue(sl2result);
+        System.out.println(sl2result);
         sheet.getCellRange("B4").setNumberValue(sl3result);
+        System.out.println(sl3result);
 
-        sheet.getCellRange("C1").setValue("用电量");
+        sheet.getCellRange("C1").setValue("用电量(kw/h)");
+        sheet.setColumnWidth(3,13);
         sheet.getCellRange("C2").setNumberValue(dl1result);
+        System.out.println(dl1result);
         sheet.getCellRange("C3").setNumberValue(dl2result);
+        System.out.println(dl2result);
         sheet.getCellRange("C4").setNumberValue(dl3result);
+        System.out.println(dl3result);
 
         //设置单元格样式
-        sheet.getCellRange("A1:C1").setRowHeight(15);
+        sheet.getCellRange("A1:C4").setRowHeight(18);
         sheet.getCellRange("A1:C1").getCellStyle().setColor(Color.darkGray);
         sheet.getCellRange("A1:C1").getCellStyle().getExcelFont().setColor(Color.white);
-        sheet.getCellRange("A1:C1").getCellStyle().setVerticalAlignment(VerticalAlignType.Center);
-        sheet.getCellRange("A1:C1").getCellStyle().setHorizontalAlignment(HorizontalAlignType.Center);
-        sheet.autoFitColumn(1);
+        sheet.getCellRange("A1:C4").getCellStyle().setVerticalAlignment(VerticalAlignType.Center);
+        sheet.getCellRange("A1:C4").getCellStyle().setHorizontalAlignment(HorizontalAlignType.Center);
+//        sheet.autoFitColumn(1);
 
         //添加柱形图
         Chart chart =sheet.getCharts().add(ExcelChartType.ColumnClustered);
 
         //设置图表数据区域
-        chart.setDataRange(sheet.getCellRange("A1:C5"));
+        chart.setDataRange(sheet.getCellRange("A1:C4"));
         chart.setSeriesDataFromRange(false);
-
-//设置图表位置
+        //设置图表位置
         chart.setLeftColumn(5);
         chart.setTopRow(1);
         chart.setRightColumn(14);
         chart.setBottomRow(21);
 
-//设置图表标题
-
-        chart.setChartTitle(startTime.substring(5,10)+ " 到 " + endTime.substring(0,10) + " 水电统计图");
+        //设置图表标题
+        chart.setChartTitle(startTime.substring(0,10)+ " 到 " + endTime.substring(0,10) + " 水电量统计");
         chart.getChartTitleArea().isBold(true);
         chart.getChartTitleArea().setSize(12);
 
-//设置x,y轴的名称
+        //设置x,y轴的名称
         chart.getPrimaryCategoryAxis().setTitle("栋舍");
         chart.getPrimaryCategoryAxis().getFont().isBold(true);
         chart.getPrimaryCategoryAxis().getTitleArea().isBold(true);
@@ -248,11 +289,13 @@ public class AllDataServiceImpl implements AllDataService {
         chart.getPrimaryValueAxis().getTitleArea().isBold(true);
         chart.getPrimaryValueAxis().getTitleArea().setTextRotationAngle(90);
 
-//设置系列颜色、重叠、宽度和数字标签
+        //设置系列颜色、重叠、宽度和数字标签
         ChartSeries series = chart.getSeries();
+        series.get(0).getDataPoints().getDefaultDataPoint().getDataLabels().hasValue(true);
+        System.out.println(series.size());
         for (int i = 0 ; i < series.size() ; i++) {
             ChartSerie cs = series.get(i);
-            cs.getFormat().getOptions().isVaryColor(true);
+//            cs.getFormat().getOptions().isVaryColor(true);
             cs.getFormat().getOptions().setOverlap(-50);
             cs.getFormat().getOptions().setGapWidth(350);
             cs.getDataPoints().getDefaultDataPoint().getDataLabels().hasValue(true);
@@ -261,9 +304,6 @@ public class AllDataServiceImpl implements AllDataService {
         //设置图例位置
         chart.getLegend().setPosition(LegendPositionType.Top);
 
-        //保存文档
-
-
 
         String fileName = System.currentTimeMillis()+".xls";
         response.setContentType("application/vnd.ms-excel");  //"application/vnd.ms-excel;charset=utf-8"  application/force-download
@@ -291,12 +331,7 @@ public class AllDataServiceImpl implements AllDataService {
 
 
         }
-
-//
-
-
-
-        return null;
+        return "200";
     }
 
     private Map initMap (){