In-Table List with Filtering Grouping and Ordering in HTML Document

Note
In this article, we will use GroupDocs.Assembly to generate an In-Table Master-Detail report in HTML Document format.
Note
The example reads the shop data described in The Business Layer.

In-Table Master-Detail in HTML Document

Reporting Requirement

As a report developer, you are required to represent customers’ orders information with the following key requirements:

  • Report must show each customer along with sum of prices of his orders.
  • It must represent all the information in tabular form.
  • Report must be generated in the Presentation Document.

Adding Syntax to be evaluated by GroupDocs.Assembly Engine

Customer

Order Price

<<foreach [in orders

.Where(c => c.OrderDate.Year == 2015)

.GroupBy(c => c.Customer)

.OrderBy(g => g.Key.CustomerName)]>><<[Key.CustomerName]>>

<<[Sum(c => c.Price)]>><</foreach>>

Tip
For detailed technical information about syntax, expressions and report generation by the engine, please visit: Working with GroupDocs.Assembly Engine.

Download In-Table List with Filtering, Grouping, and Ordering Template

Please download the sample document we created in this article:

Generating The Report

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("in-table-list-with-filtering.html", "in-table-list-with-filtering-report.html", DataSourceInfo(orders, "orders"))

The following sample file is used in this example: in-table-list-with-filtering.html

The following sample file is used in this example: orders.json

<html>
<body>
<table>
<tr>
<th>
Customer
</th>
<th>
Order Price
</th>
[TRUNCATED]

Download full output

Close
Loading

Analyzing your prompt, please hold on...

An error occurred while retrieving the results. Please refresh the page and try again.