Diagramformatering
Ställa in diagrammets utseende
IDiagramtyper, gav vi en kort introduktion till de typer av diagram och kartobjekt som erbjuds av Aspose.Cells.
I den här artikeln diskuterar vi hur du anpassar diagrammets utseende genom att ställa in ett antal olika egenskaper:
- Ställa in sjökortsområdet.
- Ställa in diagramlinjer.
- Tillämpa teman.
- Ställa in titlar till diagram och axlar.
- Arbeta med rutnät.
- Inställning av bårder för bak- och sidoväggar.
Inställning av sjökortsområde
Det finns olika typer av områden i ett diagram och Aspose.Cells ger flexibiliteten att ändra utseendet på varje område. Utvecklare kan tillämpa olika formateringsinställningar på ett område genom att ändra dess förgrundsfärg, bakgrundsfärg och fyllningsformat etc.
I exemplet nedan har vi tillämpat olika formateringsinställningar på olika typer av områden i ett diagram. Dessa områden inkluderar:
- Tomtområde
- Kartområde
- Seriekollektion område
- Arean av en enda punkt i enSeriekollektion
Efter exekvering av exempelkoden kommer ett kolumndiagram att läggas till i kalkylbladet enligt nedan:
Ett kolumndiagram med fyllda områden
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(SettingChartArea.class) + "charts/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
WorksheetCollection worksheets = workbook.getWorksheets(); | |
// Obtaining the reference of the newly added worksheet by passing its | |
// sheet index | |
Worksheet worksheet = worksheets.get(0); | |
Cells cells = worksheet.getCells(); | |
// Adding a sample value to "A1" cell | |
cells.get("A1").setValue(50); | |
// Adding a sample value to "A2" cell | |
cells.get("A2").setValue(100); | |
// Adding a sample value to "A3" cell | |
cells.get("A3").setValue(150); | |
// Adding a sample value to "B1" cell | |
cells.get("B1").setValue(60); | |
// Adding a sample value to "B2" cell | |
cells.get("B2").setValue(32); | |
// Adding a sample value to "B3" cell | |
cells.get("B3").setValue(50); | |
// Adding a chart to the worksheet | |
ChartCollection charts = worksheet.getCharts(); | |
// Accessing the instance of the newly added chart | |
int chartIndex = charts.add(ChartType.COLUMN, 5, 0, 15, 7); | |
Chart chart = charts.get(chartIndex); | |
// Adding NSeries (chart data source) to the chart ranging from "A1" | |
// cell | |
SeriesCollection nSeries = chart.getNSeries(); | |
nSeries.add("A1:B3", true); | |
// Setting the foreground color of the plot area | |
ChartFrame plotArea = chart.getPlotArea(); | |
Area area = plotArea.getArea(); | |
area.setForegroundColor(Color.getBlue()); | |
// Setting the foreground color of the chart area | |
ChartArea chartArea = chart.getChartArea(); | |
area = chartArea.getArea(); | |
area.setForegroundColor(Color.getYellow()); | |
// Setting the foreground color of the 1st NSeries area | |
Series aSeries = nSeries.get(0); | |
area = aSeries.getArea(); | |
area.setForegroundColor(Color.getRed()); | |
// Setting the foreground color of the area of the 1st NSeries point | |
ChartPointCollection chartPoints = aSeries.getPoints(); | |
ChartPoint point = chartPoints.get(0); | |
point.getArea().setForegroundColor(Color.getCyan()); | |
// Save the Excel file | |
workbook.save(dataDir + "SettingChartArea_out.xls"); | |
// Print message | |
System.out.println("ChartArea is settled successfully."); |
Ställa in sjökortslinjer
Utvecklare kan också tillämpa olika typer av stilar på linjerna eller datamarkörerna förSeriekollektionsom visas nedan i exemplet. Genom att köra exempelkoden läggs ett kolumndiagram till i kalkylbladet som visas nedan:
Kolumndiagram efter applicering av linjeformat
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(SettingChartLines.class) + "charts/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(dataDir + "book1.xls"); | |
WorksheetCollection worksheets = workbook.getWorksheets(); | |
// Obtaining the reference of the newly added worksheet by passing its | |
// sheet index | |
Worksheet worksheet = worksheets.get(0); | |
Cells cells = worksheet.getCells(); | |
// Adding a chart to the worksheet | |
ChartCollection charts = worksheet.getCharts(); | |
Chart chart = charts.get(0); | |
// Adding NSeries (chart data source) to the chart ranging from "A1" | |
// cell | |
SeriesCollection nSeries = chart.getNSeries(); | |
nSeries.add("A1:B3", true); | |
Series aSeries = nSeries.get(0); | |
Line line = aSeries.getSeriesLines(); | |
line.setStyle(LineType.DOT); | |
// Applying a triangular marker style on the data markers of an NSeries | |
aSeries.getMarker().setMarkerStyle(ChartMarkerType.TRIANGLE); | |
// Setting the weight of all lines in an NSeries to medium | |
aSeries = nSeries.get(1); | |
line = aSeries.getSeriesLines(); | |
line.setWeight(WeightType.MEDIUM_LINE); | |
// Save the Excel file | |
workbook.save(dataDir + "SettingChartLines_out.xls"); | |
// Print message | |
System.out.println("ChartArea is settled successfully."); |
Tillämpa Microsoft Excel 2007/2010-teman på diagram
Utvecklare kan tillämpa olika Microsoft Excel-teman och färger påSeriekollektioneller andra diagramobjekt som visas i exemplet nedan.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(ApplyingThemes.class) + "charts/"; | |
// Instantiate the workbook to open the file that contains a chart | |
Workbook workbook = new Workbook(dataDir + "book1.xls"); | |
// Get the first worksheet | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
// Get the first chart in the sheet | |
Chart chart = worksheet.getCharts().get(0); | |
// Specify the FilFormat's type to Solid Fill of the first series | |
chart.getNSeries().get(0).getArea().getFillFormat().setFillType(FillType.SOLID); | |
// Get the CellsColor of SolidFill | |
CellsColor cc = chart.getNSeries().get(0).getArea().getFillFormat().getSolidFill().getCellsColor(); | |
// Create a theme in Accent style | |
cc.setThemeColor(new ThemeColor(ThemeColorType.ACCENT_6, 0.6)); | |
// Apply the them to the series | |
chart.getNSeries().get(0).getArea().getFillFormat().getSolidFill().setCellsColor(cc); | |
// Save the Excel file | |
workbook.save(dataDir + "AThemes_out.xlsx"); |
Ställa in titlar på diagram eller axlar
Du kan använda Microsoft Excel för att ställa in titlarna på ett diagram och dess axlar i en WYSIWYG-miljö som visas nedan.
Ställa in titlar för ett diagram och dess axlar med Microsoft Excel
Aspose.Cells tillåter också utvecklare att ställa in titlarna på ett diagram och dess axlar under körning. Alla diagram och deras axlar innehåller enTitle.setTextmetod som kan användas för att ställa in deras titlar som visas nedan i ett exempel. Efter exekvering av exempelkoden kommer ett kolumndiagram att läggas till i kalkylbladet enligt nedan:
Kolumndiagram efter inställning av titlar
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(SettingTitlesAxes.class) + "charts/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(dataDir + "book1.xls"); | |
WorksheetCollection worksheets = workbook.getWorksheets(); | |
// Obtaining the reference of the newly added worksheet by passing its | |
// sheet index | |
Worksheet worksheet = worksheets.get(0); | |
Cells cells = worksheet.getCells(); | |
// Adding a chart to the worksheet | |
ChartCollection charts = worksheet.getCharts(); | |
// Accessing the instance of the newly added chart | |
int chartIndex = charts.add(ChartType.COLUMN, 5, 0, 15, 7); | |
Chart chart = charts.get(chartIndex); | |
// Setting the title of a chart | |
Title title = chart.getTitle(); | |
title.setText("ASPOSE"); | |
// Setting the font color of the chart title to blue | |
Font font = title.getFont(); | |
font.setColor(Color.getBlue()); | |
// Setting the title of category axis of the chart | |
Axis categoryAxis = chart.getCategoryAxis(); | |
title = categoryAxis.getTitle(); | |
title.setText("Category"); | |
// Setting the title of value axis of the chart | |
Axis valueAxis = chart.getValueAxis(); | |
title = valueAxis.getTitle(); | |
title.setText("Value"); | |
// Adding NSeries (chart data source) to the chart ranging from "A1" | |
// cell | |
SeriesCollection nSeries = chart.getNSeries(); | |
nSeries.add("A1:B3", true); | |
// Setting the foreground color of the plot area | |
ChartFrame plotArea = chart.getPlotArea(); | |
Area area = plotArea.getArea(); | |
area.setForegroundColor(Color.getBlue()); | |
// Setting the foreground color of the chart area | |
ChartArea chartArea = chart.getChartArea(); | |
area = chartArea.getArea(); | |
area.setForegroundColor(Color.getYellow()); | |
// Setting the foreground color of the 1st NSeries area | |
Series aSeries = nSeries.get(0); | |
area = aSeries.getArea(); | |
area.setForegroundColor(Color.getRed()); | |
// Setting the foreground color of the area of the 1st NSeries point | |
ChartPointCollection chartPoints = aSeries.getPoints(); | |
ChartPoint point = chartPoints.get(0); | |
point.getArea().setForegroundColor(Color.getCyan()); | |
// Save the Excel file | |
workbook.save(dataDir + "SettingTitlesAxes_out.xls"); | |
// Print message | |
System.out.println("Chart Title is changed successfully."); |
Ställa in stora rutnät
Döljer stora rutnät
Utvecklare kan kontrollera synligheten för större rutnät genom att användasetVisible metod förLinjeobjekt. Efter att ha gömt de stora rutnätslinjerna har ett kolumndiagram som lagts till i kalkylbladet följande utseende:
Ett kolumndiagram med dolda större rutnät
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// Hiding the major gridlines of value axis | |
Axis valueAxis = chart.getValueAxis(); | |
Line majorGridLines = valueAxis.getMajorGridLines(); | |
majorGridLines.setVisible(false); |
Ändra större rutnätsinställningar
Utvecklare kan inte bara kontrollera synligheten för större rutnätslinjer utan även andra egenskaper inklusive dess färg etc. Efter att ha ställt in färgen på större rutnätslinjer kommer ett kolumndiagram som läggs till i kalkylbladet att se följande ut:
Kolumndiagram med färgade stora rutnät
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// Setting the color of major gridlines of value axis to silver | |
Axis categoryAxis = chart.getCategoryAxis(); | |
categoryAxis.getMajorGridLines().setColor(Color.getSilver()); |
Ställa in kanter för bak- och sidoväggar
Sedan släppet av Microsoft Excel 2007 har väggarna i ett 3D-diagram delats upp i två delar: sidovägg och bakvägg, så vi måste använda tvåVäggar objekt för att representera dem separat och du kan komma åt dem genom att användaChart.getBackWall() ochChart.getSideWall().
Exemplet nedan visar hur man ställer in sidoväggens kant genom att använda olika attribut.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// Get the side wall border line | |
Line sideLine = chart.getSideWall().getBorder(); | |
// Make it visible | |
sideLine.setVisible(true); | |
// Set the solid line | |
sideLine.setStyle(LineType.SOLID); | |
// Set the line width | |
sideLine.setWeight(10); | |
// Set the color | |
sideLine.setColor(Color.getBlack()); |
Ändra diagramposition och storlek
Ibland vill du ändra positionen eller storleken på det nya eller befintliga diagrammet i kalkylbladet. Aspose.Cells tillhandahållerChart.getChartObject()egendom för att uppnå detta. Du kan använda dess underegenskaper för att ändra storlek på diagrammet med nytthöjd ochbredd eller placera om den med ny** X** och**Y** koordinater.
Ändra diagrammets position och storlek
För att ändra diagrammets position (X, Y-koordinater) och storlek (höjd, bredd), använd dessa egenskaper:
- Chart.getChartObject().get/setWidth()
- Chart.getChartObject().get/setHeight()
- Chart.getChartObject().get/setX()
- Chart.getChartObject().get/setY()
Följande exempel förklarar användningen av ovanstående egenskaper. Den laddar den befintliga arbetsboken som innehåller ett diagram i sitt första kalkylblad. Sedan ändrar den storleken och placerar om diagrammet och sparar arbetsboken.
Innan exekveringen av exempelkoden ser källfilen ut så här:
Diagramstorlek och position före exekvering av exempelkod
Efter körningen ser utdatafilen ut så här:
Diagramstorlek och position efter exekvering av exempelkod
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(ChangeChartPositionAndSize.class) + "charts/"; | |
String filePath = dataDir + "book1.xls"; | |
Workbook workbook = new Workbook(filePath); | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
// Load the chart from source worksheet | |
Chart chart = worksheet.getCharts().get(0); | |
// Resize the chart | |
chart.getChartObject().setWidth(400); | |
chart.getChartObject().setHeight(300); | |
// Reposition the chart | |
chart.getChartObject().setX(250); | |
chart.getChartObject().setY(150); | |
// Output the file | |
workbook.save(dataDir + "ChangeChartPositionAndSize_out.xls"); | |
// Print message | |
System.out.println("Position and Size of Chart is changed successfully."); |
Manipulera designerdiagram
Det finns en tid då du kan behöva manipulera eller modifiera diagrammen i dina designermallfiler. Aspose.Cells har fullt stöd för att manipulera designerdiagram med dess innehåll och element. Data, diagraminnehåll, bakgrundsbild och formatering kan bevaras med noggrannhet.
Manipulera designerdiagram i mallfilerna
För att manipulera designerdiagram i en mallfil, använd alla diagramrelaterade API-anrop. Använd till exempelWorksheet.getCharts egenskap för att få den befintliga diagramsamlingen i mallfilen.
Skapa ett diagram
Följande exempel visar hur man skapar ett cirkeldiagram. Vi kommer att manipulera detta diagram senare. Följande utdata genereras av koden.
Ingångscirkeldiagrammet
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(CreateChart.class) + "charts/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Obtaining the reference of the first worksheet | |
WorksheetCollection worksheets = workbook.getWorksheets(); | |
Worksheet sheet = worksheets.get(0); | |
// Adding some sample value to cells | |
Cells cells = sheet.getCells(); | |
Cell cell = cells.get("A1"); | |
cell.setValue(50); | |
cell = cells.get("A2"); | |
cell.setValue(100); | |
cell = cells.get("A3"); | |
cell.setValue(150); | |
cell = cells.get("B1"); | |
cell.setValue(4); | |
cell = cells.get("B2"); | |
cell.setValue(20); | |
cell = cells.get("B3"); | |
cell.setValue(50); | |
ChartCollection charts = sheet.getCharts(); | |
// Adding a chart to the worksheet | |
int chartIndex = charts.add(ChartType.PYRAMID, 5, 0, 15, 5); | |
Chart chart = charts.get(chartIndex); | |
// Adding NSeries (chart data source) to the chart ranging from "A1" | |
// cell to "B3" | |
SeriesCollection serieses = chart.getNSeries(); | |
serieses.add("A1:B3", true); | |
// Saving the Excel file | |
workbook.save(dataDir + "CreateChart_out.xls"); | |
// Print message | |
System.out.println("Workbook with chart is successfully created."); |
Manipulera diagrammet
Följande exempel visar hur man manipulerar det befintliga diagrammet. I det här exemplet ändrar vi diagrammet som skapats ovan. Följande utdata genereras av koden. Observera att färgen på sjökortstiteln har ändrats från blå till svart och ‘England 30000’ har ändrats till ‘United Kingdom, 30K’.
Cirkeldiagrammet har ändrats
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(ModifyPieChart.class) + "charts/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(dataDir + "ModifyCharts.xlsx"); | |
// Obtaining the reference of the first worksheet | |
WorksheetCollection worksheets = workbook.getWorksheets(); | |
Worksheet sheet = worksheets.get(1); | |
// Load the chart from source worksheet | |
Chart chart = sheet.getCharts().get(0); | |
DataLabels datalabels = chart.getNSeries().get(0).getPoints().get(0).getDataLabels(); | |
datalabels.setText("aspose"); | |
// Saving the Excel file | |
workbook.save(dataDir + "ModifyPieChart_out.xls"); | |
// Print message | |
System.out.println("Pie chart is successfully modified."); |
Manipulera ett linjediagram i designermallen
I det här exemplet kommer vi att manipulera ett linjediagram. Vi kommer att lägga till några dataserier till det befintliga diagrammet och ändra deras linjefärger.
Ta först en titt på designerns linjediagram.
Ingångslinjediagrammet
Nu manipulerar vi linjediagrammet (som finns ilinjediagram.xls fil) med följande kod. Följande utdata genereras av koden.
Det manipulerade linjediagrammet
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(ModifyLineChart.class) + "charts/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(dataDir + "book1.xls"); | |
// Obtaining the reference of the first worksheet | |
WorksheetCollection worksheets = workbook.getWorksheets(); | |
Worksheet sheet = worksheets.get(0); | |
// Load the chart from source worksheet | |
Chart chart = sheet.getCharts().get(0); | |
// Adding NSeries (chart data source) to the chart ranging from "A1" | |
// cell to "B3" | |
SeriesCollection serieses = chart.getNSeries(); | |
serieses.add("{20,40,90}", true); | |
serieses.add("{110,70,220}", true); | |
// Saving the Excel file | |
workbook.save(dataDir + "ModifyLineChart_out.xls"); | |
// Print message | |
System.out.println("Line chart is successfully modified."); |
Använder Sparklines
Microsoft Excel 2010 kan analysera information på fler sätt än någonsin tidigare. Det låter användare spåra och lyfta fram viktiga datatrender med nya verktyg för dataanalys och visualisering. Sparklines är minidiagram som du kan placera inuti celler så att du kan se data och diagram på samma tabell. När sparklines används på rätt sätt går dataanalysen snabbare och mer rakt på sak. De ger också en enkel bild av information, och undviker överfulla kalkylblad med många upptagna diagram.
Aspose.Cells tillhandahåller en API för att manipulera sparklines i kalkylblad.
Sparklines i Microsoft Excel
Så här infogar du sparklines i Microsoft Excel 2010:
- Markera cellerna där du vill att gnistlinjerna ska visas. För att göra dem enkla att se, markera celler vid sidan av data.
- KlickFöra in på bandet och välj sedankolumn iSparklines grupp.
- Välj eller ange cellintervallet i kalkylbladet som innehåller källdata. Diagrammen visas.
Sparklines hjälper dig att se trender, till exempel, eller vinst- eller förlustrekordet för en softballliga. Sparklines kan till och med summera hela säsongen för varje lag i ligan.
Sparklines med Aspose.Cells
Utvecklare kan skapa, ta bort eller läsa sparklines (i mallfilen) med hjälp av API som tillhandahålls av Aspose.Cells. Genom att lägga till anpassad grafik för ett givet dataintervall har utvecklarna friheten att lägga till olika typer av små diagram till utvalda cellområden.
Exemplet nedan visar Sparklines-funktionen. Exemplet visar hur man:
- Öppna en enkel mallfil.
- Läs sparklines-information för ett kalkylblad.
- Lägg till nya sparklines för ett givet dataintervall till ett cellområde.
- Sparar Excel-filen på disk.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(UsingSparklines.class) + "charts/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
WorksheetCollection worksheets = workbook.getWorksheets(); | |
// Obtaining the reference of the first worksheet | |
Worksheet worksheet = worksheets.get(0); | |
Cells cells = worksheet.getCells(); | |
System.out.println("Sparkline count: " + worksheet.getSparklineGroupCollection().getCount()); | |
for (int i = 0; i < worksheet.getSparklineGroupCollection().getCount(); i++) { | |
SparklineGroup g = worksheet.getSparklineGroupCollection().get(i); | |
System.out.println("sparkline group: type:" + g.getType()); | |
for (int j = 0; j < g.getSparklineCollection().getCount(); i++) { | |
Sparkline gg = g.getSparklineCollection().get(i); | |
System.out.println("sparkline: row:" + gg.getRow() + ", col:" + gg.getColumn() + ", dataRange:" | |
+ gg.getDataRange()); | |
} | |
} | |
// Add Sparklines | |
// Define the CellArea D2:D10 | |
CellArea ca = new CellArea(); | |
ca.StartColumn = 4; | |
ca.EndColumn = 4; | |
ca.StartRow = 1; | |
ca.EndRow = 7; | |
int idx = worksheet.getSparklineGroupCollection().add(SparklineType.COLUMN, "Sheet1!B2:D8", false, ca); | |
SparklineGroup group = worksheet.getSparklineGroupCollection().get(idx); | |
// Create CellsColor | |
CellsColor clr = workbook.createCellsColor(); | |
clr.setColor(Color.getChocolate()); | |
group.setSeriesColor(clr); | |
workbook.save(dataDir + "UsingSparklines_out.xls"); | |
// Print message | |
System.out.println("Workbook with chart is created successfully."); |
Tillämpa 3D-format på diagram
Du kanske behöver 3D-diagramstilar så att du kan få precis resultaten för ditt scenario. Aspose.Cells API:er tillhandahåller relevant API för att tillämpa Microsoft Excel 2007 3D-formatering som visas i den här artikeln.
Ställa in 3D-format till diagram
Ett komplett exempel ges nedan för att visa hur man skapar ett diagram och tillämpar Microsoft Excel 2007 3D-formatering. Efter exekvering av ovanstående exempelkod kommer ett kolumndiagram (med 3D-effekter) att läggas till i kalkylbladet enligt nedan.
Ett kolumndiagram med 3D-formatering
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(Applying3DFormat.class) + "charts/"; | |
// Instantiate a new Workbook | |
Workbook book = new Workbook(); | |
// Add a Data Worksheet | |
Worksheet dataSheet = book.getWorksheets().add("DataSheet"); | |
// Add Chart Worksheet | |
Worksheet sheet = book.getWorksheets().add("MyChart"); | |
// Put some values into the cells in the data worksheet | |
dataSheet.getCells().get("B1").putValue(1); | |
dataSheet.getCells().get("B2").putValue(2); | |
dataSheet.getCells().get("B3").putValue(3); | |
dataSheet.getCells().get("A1").putValue("A"); | |
dataSheet.getCells().get("A2").putValue("B"); | |
dataSheet.getCells().get("A3").putValue("C"); | |
// Define the Chart Collection | |
ChartCollection charts = sheet.getCharts(); | |
// Add a Column chart to the Chart Worksheet | |
int chartSheetIdx = charts.add(ChartType.COLUMN, 5, 0, 25, 15); | |
// Get the newly added Chart | |
Chart chart = book.getWorksheets().get(2).getCharts().get(0); | |
// Set the background/foreground color for PlotArea/ChartArea | |
chart.getPlotArea().getArea().setBackgroundColor(Color.getWhite()); | |
chart.getChartArea().getArea().setBackgroundColor(Color.getWhite()); | |
chart.getPlotArea().getArea().setForegroundColor(Color.getWhite()); | |
chart.getChartArea().getArea().setForegroundColor(Color.getWhite()); | |
// Hide the Legend | |
chart.setShowLegend(false); | |
// Add Data Series for the Chart | |
chart.getNSeries().add("DataSheet!B1:B3", true); | |
// Specify the Category Data | |
chart.getNSeries().setCategoryData("DataSheet!A1:A3"); | |
// Get the Data Series | |
Series ser = chart.getNSeries().get(0); | |
// Apply the 3D formatting | |
ShapePropertyCollection spPr = ser.getShapeProperties(); | |
Format3D fmt3d = spPr.getFormat3D(); | |
// Specify Bevel with its height/width | |
Bevel bevel = fmt3d.getTopBevel(); | |
bevel.setType(BevelPresetType.CIRCLE); | |
bevel.setHeight(5); | |
bevel.setWidth(9); | |
// Specify Surface material type | |
fmt3d.setSurfaceMaterialType(PresetMaterialType.WARM_MATTE); | |
// Specify surface lighting type | |
fmt3d.setSurfaceLightingType(LightRigType.THREE_POINT); | |
// Specify lighting angle | |
fmt3d.setLightingAngle(20); | |
// Specify Series background/foreground and line color | |
ser.getArea().setBackgroundColor(Color.getMaroon()); | |
ser.getArea().setForegroundColor(Color.getMaroon()); | |
ser.getBorder().setColor(Color.getMaroon()); | |
// Save the Excel file | |
book.save(dataDir + "A3DFormat_out.xls"); | |
// Print message | |
System.out.println("3D format is applied successfully."); |