Inserting Chart Axis Title Dynamically in Spreadsheet Document
Leave feedback
NoteThe example reads the shop data described in The Business Layer.
Following steps, you can create a column chart in MS Excel 2013:
- Create a new Workbook
- Click the “Insert” tab, and then click “Insert Column Chart” icon in the Charts group to view the drop-down list
- Select the “100% Stacked Column” and press “OK” to insert the chart and Worksheet template to your Worksheet
- Edit the Worksheet with your data to update the chart
- Save your Document
As a report developer, you are required to share orders quantity of the customers dynamically with the following key requirements:
- A report must show the quantity of sales/orders
- Sales/orders quantity must be represented by Quarters
- It must associate order quantity with the corresponding customer
- A report must be generated in the Spreadsheet Document
<<[title]>><<foreach [in orders
.Where(c => c.OrderDate.Year == 2015)
.GroupBy(c => c.Customer)
.OrderBy(g => g.Key.CustomerName)]>><<x [Key.CustomerName]>>
Legend Entries
="1st Quarter<<y [Where(c => c.OrderDate.Month >= 1 && c.OrderDate.Month <= 3).Sum(c => c.ProductQuantity)]>>"
="2nd Quarter<<y [Where(c => c.OrderDate.Month >= 4 && c.OrderDate.Month <= 6).Sum(c => c.ProductQuantity)]>>"
="3rd Quarter<<y [Where(c => c.OrderDate.Month >= 7 && c.OrderDate.Month <= 9).Sum(c => c.ProductQuantity)]>>"
="4th Quarter<<y [Where(c => c.OrderDate.Month >= 10 && c.OrderDate.Month <= 12).Sum(c => c.ProductQuantity)]>>"
Please download the sample Chart with Filtering, Grouping, and Ordering with Dynamic Title document we created in this article:
import json
from datetime import datetime
from groupdocs.assembly import DataSourceInfo, DocumentAssembler
def parse_dates(item):
# JSON has no dates: turn the order dates into datetime objects for the template
for key in ("OrderDate", "ShippingDate"):
if key in item:
item[key] = datetime.strptime(item[key], "%Y-%m-%dT%H:%M:%S")
return item
with open("orders.json", encoding="utf-8") as f:
orders = json.load(f, object_hook=parse_dates)
assembler = DocumentAssembler()
assembler.assemble_document("chart-with-filtering-and-dynamic-title.xlsx", "chart-with-filtering-and-dynamic-title-report.xlsx", [
DataSourceInfo(orders, "orders"),
DataSourceInfo("Harbor Lane orders by customer, 2015", "title"),
])
The following sample file is used in this example: chart-with-filtering-and-dynamic-title.xlsx
The following sample file is used in this example: orders.json
Binary file (XLSX, 13 KB)
Was this page helpful?
Any additional feedback you'd like to share with us?
Please tell us how we can improve this page.
Thank you for your feedback!
We value your opinion. Your feedback will help us improve our documentation.