微调
This commit is contained in:
@@ -39,16 +39,16 @@
|
||||
<version>1.2.83</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.poi</groupId>
|
||||
<artifactId>poi-ooxml</artifactId>
|
||||
<version>5.2.3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.poi</groupId>
|
||||
<artifactId>poi-ooxml-full</artifactId>
|
||||
<version>5.2.3</version>
|
||||
</dependency>
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>org.apache.poi</groupId>-->
|
||||
<!-- <artifactId>poi-ooxml</artifactId>-->
|
||||
<!-- <version>5.2.3</version>-->
|
||||
<!-- </dependency>-->
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>org.apache.poi</groupId>-->
|
||||
<!-- <artifactId>poi-ooxml-full</artifactId>-->
|
||||
<!-- <version>5.2.3</version>-->
|
||||
<!-- </dependency>-->
|
||||
</dependencies>
|
||||
|
||||
|
||||
|
||||
@@ -165,7 +165,7 @@ public class SysLogAuditServiceImpl extends ServiceImpl<SysLogAuditMapper, SysLo
|
||||
|
||||
XSSFSheet sheet = wb.createSheet("sheet1");
|
||||
|
||||
createPieChart(sheet, collect.keySet().stream().collect(Collectors.toList()), collect.values().stream().collect(Collectors.toList()));
|
||||
//createPieChart(sheet, collect.keySet().stream().collect(Collectors.toList()), collect.values().stream().collect(Collectors.toList()));
|
||||
|
||||
wb.write(outputStream);
|
||||
wb.close();
|
||||
@@ -174,61 +174,61 @@ public class SysLogAuditServiceImpl extends ServiceImpl<SysLogAuditMapper, SysLo
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建饼图
|
||||
*
|
||||
* @param sheet
|
||||
* @param categoryList
|
||||
* @param sheetDataList
|
||||
*/
|
||||
private void createPieChart(XSSFSheet sheet, List<String> categoryList, List<Long> sheetDataList) {
|
||||
int row1 = 0;
|
||||
int row2 = 8;
|
||||
int col1 = 0;
|
||||
int col2 = 30;
|
||||
// 设置图表列宽
|
||||
for (int i = 0; i < row2; i++) {
|
||||
sheet.setColumnWidth(i, 6000);
|
||||
}
|
||||
//y轴显示数据
|
||||
String[] headArray = categoryList.stream().collect(Collectors.toList()).toArray(new String[]{});
|
||||
|
||||
// Create a chart
|
||||
XSSFDrawing drawing = sheet.createDrawingPatriarch();
|
||||
ClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, col1, row1, row2, col2);
|
||||
XSSFChart chart = drawing.createChart(anchor);
|
||||
//标题是否覆盖图表
|
||||
chart.setTitleOverlay(false);
|
||||
//设置图表标题
|
||||
chart.setTitleText("分析结果");
|
||||
// 创建图表系列
|
||||
XDDFChartLegend legend = chart.getOrAddLegend();
|
||||
legend.setPosition(LegendPosition.TOP);
|
||||
|
||||
//动态数据
|
||||
//x轴数据
|
||||
XDDFDataSource<String> xData = XDDFDataSourcesFactory.fromArray(headArray);
|
||||
//饼图数据
|
||||
XDDFPieChartData data = (XDDFPieChartData) chart.createData(ChartTypes.PIE, null, null);
|
||||
data.setVaryColors(true);
|
||||
|
||||
Double[] yArray = sheetDataList.stream().collect(Collectors.toList()).toArray(new Double[]{});
|
||||
//y轴数据
|
||||
XDDFNumericalDataSource<Double> yData = XDDFDataSourcesFactory.fromArray(yArray);
|
||||
XDDFChartData.Series series = data.addSeries(xData, yData);
|
||||
|
||||
//series.setTitle("title", null);
|
||||
series.setShowLeaderLines(true);
|
||||
// 隐藏图例标识、系列名称、分类名称和数值
|
||||
XDDFPieChartData.Series s = (XDDFPieChartData.Series) series;
|
||||
CTPieSer ctPieSer = s.getCTPieSer();
|
||||
showCateName(ctPieSer, false);
|
||||
showVal(ctPieSer, false);
|
||||
showLegendKey(ctPieSer, false);
|
||||
showSerName(ctPieSer, false);
|
||||
|
||||
chart.plot(data);
|
||||
}
|
||||
// /**
|
||||
// * 创建饼图
|
||||
// *
|
||||
// * @param sheet
|
||||
// * @param categoryList
|
||||
// * @param sheetDataList
|
||||
// */
|
||||
// private void createPieChart(XSSFSheet sheet, List<String> categoryList, List<Long> sheetDataList) {
|
||||
// int row1 = 0;
|
||||
// int row2 = 8;
|
||||
// int col1 = 0;
|
||||
// int col2 = 30;
|
||||
// // 设置图表列宽
|
||||
// for (int i = 0; i < row2; i++) {
|
||||
// sheet.setColumnWidth(i, 6000);
|
||||
// }
|
||||
// //y轴显示数据
|
||||
// String[] headArray = categoryList.stream().collect(Collectors.toList()).toArray(new String[]{});
|
||||
//
|
||||
// // Create a chart
|
||||
// XSSFDrawing drawing = sheet.createDrawingPatriarch();
|
||||
// ClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, col1, row1, row2, col2);
|
||||
// XSSFChart chart = drawing.createChart(anchor);
|
||||
// //标题是否覆盖图表
|
||||
// chart.setTitleOverlay(false);
|
||||
// //设置图表标题
|
||||
// chart.setTitleText("分析结果");
|
||||
// // 创建图表系列
|
||||
// XDDFChartLegend legend = chart.getOrAddLegend();
|
||||
// legend.setPosition(LegendPosition.TOP);
|
||||
//
|
||||
// //动态数据
|
||||
// //x轴数据
|
||||
// XDDFDataSource<String> xData = XDDFDataSourcesFactory.fromArray(headArray);
|
||||
// //饼图数据
|
||||
// XDDFPieChartData data = (XDDFPieChartData) chart.createData(ChartTypes.PIE, null, null);
|
||||
// data.setVaryColors(true);
|
||||
//
|
||||
// Double[] yArray = sheetDataList.stream().collect(Collectors.toList()).toArray(new Double[]{});
|
||||
// //y轴数据
|
||||
// XDDFNumericalDataSource<Double> yData = XDDFDataSourcesFactory.fromArray(yArray);
|
||||
// XDDFChartData.Series series = data.addSeries(xData, yData);
|
||||
//
|
||||
// //series.setTitle("title", null);
|
||||
// series.setShowLeaderLines(true);
|
||||
// // 隐藏图例标识、系列名称、分类名称和数值
|
||||
// XDDFPieChartData.Series s = (XDDFPieChartData.Series) series;
|
||||
// CTPieSer ctPieSer = s.getCTPieSer();
|
||||
// showCateName(ctPieSer, false);
|
||||
// showVal(ctPieSer, false);
|
||||
// showLegendKey(ctPieSer, false);
|
||||
// showSerName(ctPieSer, false);
|
||||
//
|
||||
// chart.plot(data);
|
||||
// }
|
||||
|
||||
// 控制值系列名称是否显示
|
||||
private void showSerName(CTPieSer series, boolean val) {
|
||||
|
||||
Reference in New Issue
Block a user