スパークラインと設定3Dフォーマットの使用
スパークラインの使用
Microsoft Excel 2010では、これまで以上に情報をさまざまな方法で分析できます。新しいデータ分析および可視化ツールを使用して重要なデータトレンドを追跡および強調することができます。スパークラインは、表内に配置してデータとグラフを同時に表示できるミニチャートです。スパークラインを適切に使用すると、データ分析が迅速かつ的確になります。また、情報のシンプルな表示を提供し、多くの複雑なチャートでワークシートが過度に混雑するのを避けることもできます。
Aspose.Cellsは、スプレッドシート内のスパークラインを操作するためのAPIを提供しています。
Microsoft Excelでのスパークライン
Microsoft Excel 2010にスパークラインを挿入するには:
- スパークラインが表示されるセルを選択します。視覚的にわかりやすくするため、データの横のセルを選択します。
- リボンの挿入を選択し、スパークライングループで列を選択します。
- ワークシートに含まれるソースデータのセル範囲を選択または入力します。チャートが表示されます。
スパークラインは、例えばソフトボールリーグの勝敗記録などのトレンドを見るのに役立ちます。スパークラインは、リーグ内の各チームのシーズン全体を要約することさえできます。
Aspose.Cellsを使用したスパークライン
開発者は、Aspose.Cellsが提供するAPIを使用して、スプレッドシート内のスパークラインを作成、削除、または読み取ることができます。スパークラインを管理するクラスは、Aspose.Cells.Charts 名前空間に含まれているため、これらの機能を使用する前にこの名前空間をインポートする必要があります。
指定されたデータ範囲にカスタムグラフィックスを追加することで、開発者は選択したセル領域に異なる種類の小さなチャートを追加する自由があります。
以下の例は、スパークライン機能を示しています。この例では次のことを示しています:
- 簡単なテンプレートファイルを開きます。
- ワークシートのスパークライン情報を読み取ります。 1.指定されたデータ範囲に新しいスパークラインをセル領域に追加します。
- Excelファイルをディスクに保存します。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// Instantiate a Workbook | |
// Open a template file | |
Workbook book = new Workbook("Source.xlsx"); | |
// Get the first worksheet | |
Worksheet sheet = book.getWorksheets().get(0); | |
// Use the following lines if you need to read the Sparklines | |
// Read the Sparklines from the template file (if it has) | |
for(SparklineGroup g : (Iterable<SparklineGroup>)sheet.getSparklineGroupCollection()) | |
{ | |
// Display the Sparklines group information e.g type, number of sparklines items | |
System.out.println("sparkline group: type:" + g.getType() + ", sparkline items count:" + g.getSparklineCollection().getCount()); | |
for (Sparkline s: (Iterable<Sparkline>)g.getSparklineCollection()) | |
{ | |
// Display the individual Sparkines and the data ranges | |
System.out.println("sparkline: row:" + s.getRow() + ", col:" + s.getColumn() + ", dataRange:" + s.getDataRange()); | |
} | |
} | |
// Add Sparklines | |
// Define the CellArea D2:D10 | |
CellArea ca = new CellArea(); | |
ca.StartColumn = 4; | |
ca.EndColumn = 4; | |
ca.StartRow = 1; | |
ca.EndRow = 7; | |
// Add new Sparklines for a data range to a cell area | |
int idx = sheet.getSparklineGroupCollection().add(SparklineType.COLUMN, "Sheet1!B2:D8", false, ca); | |
SparklineGroup group = sheet.getSparklineGroupCollection().get(idx); | |
// Create CellsColor | |
CellsColor clr = book.createCellsColor(); | |
clr.setColor(Color.getOrange()); | |
group.setSeriesColor (clr); | |
// Save the workbook | |
book.save("output.xlsx"); |
3Dフォーマットの設定
シナリオに応じた結果を得るために、3Dチャートスタイルが必要な場合があります。Aspose.Cellsでは、Microsoft Excel 2007の3Dフォーマットを適用するための関連するAPIを提供しています。
Microsoft Excel 2007の3Dフォーマットを適用する方法を示す完全な例が以下に示されています。例のコードを実行すると、ワークシートに3D効果のある列グラフが追加されます。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// 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 3-D 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(2); | |
bevel.setWidth(5); | |
// Specify Surface material type | |
fmt3d.setSurfaceMaterialType (PresetMaterialType.WARM_MATTE); | |
// Specify surface lighting type | |
fmt3d.setSurfaceLightingType(LightRigType.THREE_POINT); | |
// Specify lighting angle | |
fmt3d.setLightingAngle(0); | |
// 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("3d_format.out.xlsx"); |