|
@@ -11,20 +11,14 @@ import com.spire.xls.*;
|
|
import com.spire.xls.charts.ChartSerie;
|
|
import com.spire.xls.charts.ChartSerie;
|
|
import com.spire.xls.charts.ChartSeries;
|
|
import com.spire.xls.charts.ChartSeries;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
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 org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.servlet.ServletOutputStream;
|
|
import javax.servlet.ServletOutputStream;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import java.awt.*;
|
|
import java.awt.*;
|
|
-import java.io.BufferedInputStream;
|
|
|
|
-import java.io.BufferedOutputStream;
|
|
|
|
import java.io.IOException;
|
|
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.*;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
|
@@ -142,7 +136,7 @@ public class AllDataServiceImpl implements AllDataService {
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@DS("thired")
|
|
@DS("thired")
|
|
- public Result findAll(String startTime, String endTime, HttpServletResponse response) {
|
|
|
|
|
|
+ public String findAll(String startTime, String endTime, HttpServletResponse response) {
|
|
//367 一栋全控 00000481
|
|
//367 一栋全控 00000481
|
|
//378 二栋 00000488
|
|
//378 二栋 00000488
|
|
//379 三栋 00000489
|
|
//379 三栋 00000489
|
|
@@ -188,9 +182,49 @@ public class AllDataServiceImpl implements AllDataService {
|
|
dl3result = dlList3.get(dlList3.size() - 1).getDQDL().subtract(dlList3.get(0).getDQDL()).doubleValue();
|
|
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();
|
|
Workbook workbook = new Workbook();
|
|
|
|
|
|
@@ -199,47 +233,54 @@ public class AllDataServiceImpl implements AllDataService {
|
|
|
|
|
|
//将图表数据写入工作表
|
|
//将图表数据写入工作表
|
|
sheet.getCellRange("A1").setValue("栋舍");
|
|
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);
|
|
sheet.getCellRange("B2").setNumberValue(sl1result);
|
|
|
|
+ System.out.println(sl1result);
|
|
sheet.getCellRange("B3").setNumberValue(sl2result);
|
|
sheet.getCellRange("B3").setNumberValue(sl2result);
|
|
|
|
+ System.out.println(sl2result);
|
|
sheet.getCellRange("B4").setNumberValue(sl3result);
|
|
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);
|
|
sheet.getCellRange("C2").setNumberValue(dl1result);
|
|
|
|
+ System.out.println(dl1result);
|
|
sheet.getCellRange("C3").setNumberValue(dl2result);
|
|
sheet.getCellRange("C3").setNumberValue(dl2result);
|
|
|
|
+ System.out.println(dl2result);
|
|
sheet.getCellRange("C4").setNumberValue(dl3result);
|
|
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().setColor(Color.darkGray);
|
|
sheet.getCellRange("A1:C1").getCellStyle().getExcelFont().setColor(Color.white);
|
|
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 chart =sheet.getCharts().add(ExcelChartType.ColumnClustered);
|
|
|
|
|
|
//设置图表数据区域
|
|
//设置图表数据区域
|
|
- chart.setDataRange(sheet.getCellRange("A1:C5"));
|
|
|
|
|
|
+ chart.setDataRange(sheet.getCellRange("A1:C4"));
|
|
chart.setSeriesDataFromRange(false);
|
|
chart.setSeriesDataFromRange(false);
|
|
-
|
|
|
|
-//设置图表位置
|
|
|
|
|
|
+ //设置图表位置
|
|
chart.setLeftColumn(5);
|
|
chart.setLeftColumn(5);
|
|
chart.setTopRow(1);
|
|
chart.setTopRow(1);
|
|
chart.setRightColumn(14);
|
|
chart.setRightColumn(14);
|
|
chart.setBottomRow(21);
|
|
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().isBold(true);
|
|
chart.getChartTitleArea().setSize(12);
|
|
chart.getChartTitleArea().setSize(12);
|
|
|
|
|
|
-//设置x,y轴的名称
|
|
|
|
|
|
+ //设置x,y轴的名称
|
|
chart.getPrimaryCategoryAxis().setTitle("栋舍");
|
|
chart.getPrimaryCategoryAxis().setTitle("栋舍");
|
|
chart.getPrimaryCategoryAxis().getFont().isBold(true);
|
|
chart.getPrimaryCategoryAxis().getFont().isBold(true);
|
|
chart.getPrimaryCategoryAxis().getTitleArea().isBold(true);
|
|
chart.getPrimaryCategoryAxis().getTitleArea().isBold(true);
|
|
@@ -248,11 +289,13 @@ public class AllDataServiceImpl implements AllDataService {
|
|
chart.getPrimaryValueAxis().getTitleArea().isBold(true);
|
|
chart.getPrimaryValueAxis().getTitleArea().isBold(true);
|
|
chart.getPrimaryValueAxis().getTitleArea().setTextRotationAngle(90);
|
|
chart.getPrimaryValueAxis().getTitleArea().setTextRotationAngle(90);
|
|
|
|
|
|
-//设置系列颜色、重叠、宽度和数字标签
|
|
|
|
|
|
+ //设置系列颜色、重叠、宽度和数字标签
|
|
ChartSeries series = chart.getSeries();
|
|
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++) {
|
|
for (int i = 0 ; i < series.size() ; i++) {
|
|
ChartSerie cs = series.get(i);
|
|
ChartSerie cs = series.get(i);
|
|
- cs.getFormat().getOptions().isVaryColor(true);
|
|
|
|
|
|
+// cs.getFormat().getOptions().isVaryColor(true);
|
|
cs.getFormat().getOptions().setOverlap(-50);
|
|
cs.getFormat().getOptions().setOverlap(-50);
|
|
cs.getFormat().getOptions().setGapWidth(350);
|
|
cs.getFormat().getOptions().setGapWidth(350);
|
|
cs.getDataPoints().getDefaultDataPoint().getDataLabels().hasValue(true);
|
|
cs.getDataPoints().getDefaultDataPoint().getDataLabels().hasValue(true);
|
|
@@ -261,9 +304,6 @@ public class AllDataServiceImpl implements AllDataService {
|
|
//设置图例位置
|
|
//设置图例位置
|
|
chart.getLegend().setPosition(LegendPositionType.Top);
|
|
chart.getLegend().setPosition(LegendPositionType.Top);
|
|
|
|
|
|
- //保存文档
|
|
|
|
-
|
|
|
|
-
|
|
|
|
|
|
|
|
String fileName = System.currentTimeMillis()+".xls";
|
|
String fileName = System.currentTimeMillis()+".xls";
|
|
response.setContentType("application/vnd.ms-excel"); //"application/vnd.ms-excel;charset=utf-8" application/force-download
|
|
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 (){
|
|
private Map initMap (){
|