Générer un graphique en traitant des marqueurs intelligents

Création de la feuille de calcul du concepteur

Une feuille de calcul de concepteur est un simple fichier Excel créé avec l’application Microsoft Excel ou les API Aspose.Cells contenant la mise en forme visuelle, les formules et les smart markers, où le contenu doit être peuplé à l’exécution.

Dans un souci de simplicité, nous créerons la feuille de calcul du concepteur en utilisant l’API Aspose.Cells for Java, puis nous la traiterons par la suite contre une source de données créée dynamiquement à des fins de démonstration.

Java

 //Create an instance of Workbook

Workbook book = new Workbook();

//Access the first (default) Worksheet from the collection

Worksheet dataSheet = book.getWorksheets().get(0);

//Name the first Worksheet for referencing

dataSheet.setName("ChartData");

//Access the CellsCollection of ChartData Worksheet

Cells cells = dataSheet.getCells();

//Place the markers in the Worksheet according to desired layout

cells.get("A1").putValue("&=$Headers(horizontal)");

cells.get("A2").putValue("&=$Year2000(horizontal)");

cells.get("A3").putValue("&=$Year2005(horizontal)");

cells.get("A4").putValue("&=$Year2010(horizontal)");

cells.get("A5").putValue("&=$Year2015(horizontal)");

Si vous enregistrez la feuille de calcul résultante à ce stade, les données dans la feuille de calcul ressembleront à ceci.

todo:image_alt_text

Traitement de la feuille de calcul du concepteur

Pour traiter la feuille de calcul du concepteur, nous devons disposer d’une source de données qui correspond aux Smart Markers utilisés dans la feuille de calcul du concepteur. Par exemple, nous avons créé une entrée de Smart Marker comme &=$Headers(horizontal), qui représente la variable par le nom Headers alors que la clé (horizontal) suggère que les données doivent être remplies horizontalement.

Pour démontrer ce cas d’utilisation, nous allons créer la source de données à partir de zéro et la traiter contre la feuille de calcul du concepteur créée à l’étape précédente. Cependant, dans un scénario en temps réel, les données pourraient déjà être disponibles pour un traitement ultérieur, vous pouvez donc ignorer la création de la source de données si les données sont déjà disponibles.

Java

 //Create string arrays which will serve as data sources to the smart markers

String[] headers = new String[]{"", "Item 1", "Item 2", "Item 3", "Item 4", "Item 5", "Item 6", "Item 7", "Item 8", "Item 9", "Item 10", "Item 11", "Item 12"};

String[] year2000 = new String[]{"2000", "310", "0", "110", "15", "20", "25", "30", "1222", "200", "421", "210", "133"};

String[] year2005 = new String[]{"2005", "508", "0", "170", "280", "190", "400", "105", "132", "303", "199", "120", "100"};

String[] year2010 = new String[]{"2010", "0", "210", "230", "1420", "1530", "160", "170", "110", "199", "129", "120", "230"};

String[] year2015 = new String[]{"2015", "2818", "320", "340", "260", "210", "310", "220", "0", "0", "0", "0", "122"};

Le traitement des Smart Markers est assez simple comme suit.

Java

 //Create an instance of WorkbookDesigner

WorkbookDesigner designer = new WorkbookDesigner();

//Set the Workbook property for the instance of WorkbookDesigner

designer.setWorkbook(book);

//Set data sources for smart markers

designer.setDataSource("Headers", headers);

designer.setDataSource("Year2000", year2000);

designer.setDataSource("Year2005", year2005);

designer.setDataSource("Year2010", year2010);

designer.setDataSource("Year2015", year2015);

//Process the designer spreadsheet against the provided data sources

designer.process();

Si vous enregistrez la feuille de calcul à ce stade, les données ressembleront à ceci.

todo:image_alt_text

Création d’un graphique

Une fois les données en place, tout ce que nous avons à faire est de créer un graphique basé sur la source de données. Afin de garder l’exemple simple, nous utiliserons la méthode Chart.setChartDataRange pour éviter de configurer davantage le graphique.

Le graphique final ressemble à ceci.

todo:image_alt_text