apache poi 라이브러리를 사용하여 "스택 막대 차트"를 만들고 싶습니다. 문서가 필요합니다.Apache POI 스택 Barchart를 만드는 방법
row1 = worksheet.createRow(r);
row['data'].flatten.each_with_index do |data, index|
cell = row1.createCell(index);
cell.setCellValue(data);
end
drawing = worksheet.createDrawingPatriarch();
anchor = drawing.createAnchor(0, 0, 0, 0, 0, 5, 8, 20);
chart = drawing.createChart(anchor);
ctChart = chart.getCTChart();
ctPlotArea = ctChart.getPlotArea();
ctBarChart = ctPlotArea.addNewBarChart();
ctBoolean = ctBarChart.addNewVaryColors();
ctBoolean.setVal(true);
ctBarChart.addNewBarDir().setVal(STBarDir.BAR);
ctBarChart.addNewGrouping().setVal(STBarGrouping.STACKED);
ctBarSer = ctBarChart.addNewSer();
ctSerTx = ctBarSer.addNewTx();
ctStrRef = ctSerTx.addNewStrRef();
ctStrRef.setF("Sheet1!$A$#{r+1}");
ctBarSer.addNewIdx().setVal(r+1);
cttAxDataSource = ctBarSer.addNewCat();
ctStrRef = cttAxDataSource.addNewStrRef();
length = row['data'].flatten.length
ctStrRef.setF("Sheet1!$B$#{r+1}:$#{CellReference.convertNumToColString(length-1)}$#{r + 1}");
ctNumDataSource = ctBarSer.addNewVal();
ctNumRef = ctNumDataSource.addNewNumRef();
ctNumRef.setF("Sheet1!$B$#{r+1}:$#{CellReference.convertNumToColString(length-1)}$#{r+1}");
ctBarSer.addNewSpPr().addNewLn().addNewSolidFill().addNewSrgbClr().setVal([0,0,0]);
위의 코드를 사용하여 막 대형 차트를 얻었으나 누적 막 대형 차트로 변환해야합니다. 내가 정확히 마법 주문이 차트 작업이하려면 무엇을 말할 수는 없지만
"문서가 필요합니다."라는 질문은 귀하의 질문과 관련이 있습니다. 즉, 한 줄짜리는 귀하가 시도한 것을 말하지 않습니다. 어쩌면 [템플릿 접근] (http://www.programming-free.com/2012/12/create-charts-in-excel-using-java.html)이 당신을 위해 일합니다 .... – kiwiwings
나는 만들 수있다. apache poi를 사용하는 막 대형 차트. 하지만 내 요구 사항은 바 차트를 스택 막대 차트로 변환하도록 변경되었습니다. – user1534350