remove code smells

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1860311 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Alain Béarez 2019-05-29 01:05:26 +00:00
parent 0ccbf4671d
commit dcb6d534fd
2 changed files with 42 additions and 38 deletions

View File

@ -183,48 +183,51 @@ class ExcelChartWithTargetLine {
barCategories.getOrAddShapeProperties().setLineProperties(categoriesProps); barCategories.getOrAddShapeProperties().setLineProperties(categoriesProps);
} }
public static void main(String[] args) throws Exception { private static XSSFClientAnchor createAnchor(XSSFDrawing drawing, int[] chartedCols) {
if (chartedCols.length > 1) {
XSSFWorkbook workbook = new XSSFWorkbook(); return drawing.createAnchor(0, 0, 0, 0, 0, 8, 10, 23);
XSSFSheet sheet = workbook.createSheet("targetline"); } else {
final int NUM_OF_COLUMNS = 4; return drawing.createAnchor(0, 0, 0, 0, 0, 8, 5, 23);
// create some data
XSSFRow row;
XSSFCell cell;
String[] headings = new String[] { "Year", "Male", "Female", "Other" };
int rowIndex = 0;
row = sheet.createRow(rowIndex);
for (int colIndex = 0; colIndex < NUM_OF_COLUMNS; colIndex++) {
cell = row.createCell(colIndex);
cell.setCellValue(headings[colIndex]);
} }
double[][] values = new double[][] { new double[] { 1980, 56.0, 44.1, 12.2 }, }
new double[] { 1985, 34.5, 41.0, 4 }, new double[] { 1990, 65.0, 68.5, 9.1 },
new double[] { 1995, 34.7, 47.6, 4.9 }, new double[] { 2000, 23.0, 64.5, 11.1 }, public static void main(String[] args) throws Exception {
new double[] { 2005, 56.3, 69.8, 9.5 } }; try (XSSFWorkbook workbook = new XSSFWorkbook()) {
for (; rowIndex < NUM_OF_ROWS; rowIndex++) { XSSFSheet sheet = workbook.createSheet("targetline");
row = sheet.createRow(rowIndex + 1); final int NUM_OF_COLUMNS = 4;
// create some data
XSSFRow row;
XSSFCell cell;
String[] headings = new String[] { "Year", "Male", "Female", "Other" };
int rowIndex = 0;
row = sheet.createRow(rowIndex);
for (int colIndex = 0; colIndex < NUM_OF_COLUMNS; colIndex++) { for (int colIndex = 0; colIndex < NUM_OF_COLUMNS; colIndex++) {
cell = row.createCell(colIndex); cell = row.createCell(colIndex);
cell.setCellValue(values[rowIndex][colIndex]); cell.setCellValue(headings[colIndex]);
}
double[][] values = new double[][] { new double[] { 1980, 56.0, 44.1, 12.2 },
new double[] { 1985, 34.5, 41.0, 4 }, new double[] { 1990, 65.0, 68.5, 9.1 },
new double[] { 1995, 34.7, 47.6, 4.9 }, new double[] { 2000, 23.0, 64.5, 11.1 },
new double[] { 2005, 56.3, 69.8, 9.5 } };
for (; rowIndex < NUM_OF_ROWS; rowIndex++) {
row = sheet.createRow(rowIndex + 1);
for (int colIndex = 0; colIndex < NUM_OF_COLUMNS; colIndex++) {
cell = row.createCell(colIndex);
cell.setCellValue(values[rowIndex][colIndex]);
}
}
int[] chartedCols = new int[] { 1, 2 , 3 };
XSSFDrawing drawing = sheet.createDrawingPatriarch();
XSSFClientAnchor anchor = createAnchor(drawing, chartedCols);
XSSFChart chart = drawing.createChart(anchor);
createChart(chart, sheet, chartedCols, 42.0);
try (FileOutputStream fos = new FileOutputStream("ExcelChartWithTargetLine.xlsx")) {
workbook.write(fos);
} }
} }
int[] chartedCols = new int[] { 1, 2 , 3 };
XSSFDrawing drawing = sheet.createDrawingPatriarch();
XSSFClientAnchor anchor = null;
if (chartedCols.length > 1) {
anchor = drawing.createAnchor(0, 0, 0, 0, 0, 8, 10, 23);
} else {
anchor = drawing.createAnchor(0, 0, 0, 0, 0, 8, 5, 23);
}
XSSFChart chart = drawing.createChart(anchor);
createChart(chart, sheet, chartedCols, 42.0);
workbook.write(new FileOutputStream("ExcelChartWithTargetLine.xlsx"));
workbook.close();
} }
} }

View File

@ -588,6 +588,7 @@ public abstract class XDDFChart extends POIXMLDocumentPart implements TextContai
return new XDDFSurfaceChartData(this, plotArea.addNewSurfaceChart(), categories, mapValues); return new XDDFSurfaceChartData(this, plotArea.addNewSurfaceChart(), categories, mapValues);
case SURFACE3D: case SURFACE3D:
return new XDDFSurface3DChartData(this, plotArea.addNewSurface3DChart(), categories, mapValues); return new XDDFSurface3DChartData(this, plotArea.addNewSurface3DChart(), categories, mapValues);
// TODO repeat above code for missing charts: Bubble, Doughnut, OfPie and Stock
default: default:
return null; return null;
} }