In-Table List with Highlighted Rows in Presentation Document

Note
In this article, we will use GroupDocs.Assembly to generate an In-Table List with Highlighted Rows report in Presentation Document format based on the use case: Working with a Business Case.
Note
The code uses some of the objects defined in The Business Layer.

In-Table List with Highlighted Rows in Microsoft PowerPoint Document

Creating a In-Table List with Highlighted Rows

Practising the following steps you can create In-Table List with Highlighted Rows Template in MS PowerPoint 2013.

  1. Click the document where you want to add the table.
  2. Press “Insert” tab to insert the table.
  3. Insert a 2x4 table.
  4. Click the cell you want to highlight.
  5. Click “Design” tab, and then select Shading.
  6. Save the template.

Reporting Requirement

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

  • The report must show each customer along with his orders.
  • Show single Customer and his single order price in a single row.
  • It must highlight the record with order price more than or equal to 400.
  • It must show sum of the order prices.
  • It must represent all the information in tabular form.
  • The report must be generated in the Presentation Document.

Adding Syntax to be evaluated by GroupDocs.Assembly Engine

Customer

Order Price

<<foreach [in orders]>><<if [Price >= 400]>><<[Customer.CustomerName]>>

<<[Price]>>

<<else>><<[Customer.CustomerName]>>

<<[Price]>><</if>><</foreach>>

Total:

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

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 Highlighted Rows Template

Please download the sample In-Table List with Highlighted Rows document we created in this article:

Generating The Report

Custom Objects

// For complete examples and data files, please go to https://github.com/groupdocs-assembly/GroupDocs.Assembly-for-.NET
//Setting up source spreadsheet template
const String strPresentationTemplate = "Presentation Templates/In-Table List with Highlighted Rows.pptx";
//Setting up destination document report
const String strPresentationReport = "Presentation Reports/In-Table List with Highlighted Rows Report.pptx";
try
{
//Instantiate DocumentAssembler class
DocumentAssembler assembler = new DocumentAssembler();
//Call AssembleDocument to generate In-Table List with Highlighted Rows Report in presentation format
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate),
CommonUtilities.SetDestinationDocument(strPresentationReport),
new DataSourceInfo(DataLayer.GetOrdersData(), "orders"));
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}

Database Entities

// For complete examples and data files, please go to https://github.com/groupdocs-assembly/GroupDocs.Assembly-for-.NET
//Setting up source spreadsheet template
const String strPresentationTemplate = "Presentation Templates/In-Table List with Highlighted Rows_DB.pptx";
//Setting up destination document report
const String strPresentationReport = "Presentation Reports/In-Table List with Highlighted Rows_DB Report.pptx";
try
{
//Instantiate DocumentAssembler class
DocumentAssembler assembler = new DocumentAssembler();
//Call AssembleDocument to generate In-Table List with Highlighted Rows Report in presentation format
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate),
CommonUtilities.SetDestinationDocument(strPresentationReport),
new DataSourceInfo(DataLayer.GetOrdersData(), "orders"));
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}

Using DataSet

// For complete examples and data files, please go to https://github.com/groupdocs-assembly/GroupDocs.Assembly-for-.NET
//Setting up source spreadsheet template
const String strPresentationTemplate = "Presentation Templates/In-Table List with Highlighted Rows_DT.pptx";
//Setting up destination document report
const String strPresentationReport = "Presentation Reports/In-Table List with Highlighted Rows_DT Report.pptx";
try
{
//Instantiate DocumentAssembler class
DocumentAssembler assembler = new DocumentAssembler();
//Call AssembleDocument to generate In-Table List with Highlighted Rows Report in presentation format
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate),
CommonUtilities.SetDestinationDocument(strPresentationReport),
new DataSourceInfo(DataLayer.GetCustomersAndOrdersDataDT(), "ds"));
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}

Using XML DataSource

// For complete examples and data files, please go to https://github.com/groupdocs-assembly/GroupDocs.Assembly-for-.NET
//Setting up source spreadsheet template
const String strPresentationTemplate = "Presentation Templates/In-Table List with Highlighted Rows_XML.pptx";
//Setting up destination document report
const String strPresentationReport = "Presentation Reports/In-Table List with Highlighted Rows_XML Report.pptx";
try
{
//Instantiate DocumentAssembler class
DocumentAssembler assembler = new DocumentAssembler();
//Call AssembleDocument to generate In-Table List with Highlighted Rows Report in presentation format
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate),
CommonUtilities.SetDestinationDocument(strPresentationReport),
new DataSourceInfo(DataLayer.GetAllDataFromXML(), "ds"));
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}

Using JSON DataSource

// For complete examples and data files, please go to https://github.com/groupdocs-assembly/GroupDocs.Assembly-for-.NET
//setting up source
const String strDocumentTemplate = "Presentation Templates/In-Table List with Highlighted Rows.pptx";
//Setting up destination
const String strDocumentReport = "Presentation Reports/In-Table List with Highlighted Rows_Json Report.pptx";
try
{
//Instantiate DocumentAssembler class
DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class
//Call AssembleDocument to generate In-Table List with Highlighted Rows report in presentation format
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate),
CommonUtilities.SetDestinationDocument(strDocumentReport),
new DataSourceInfo(DataLayer.GetCustomerOrderDataFromJson(), "orders"));
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}

In-Table List with Highlighted Rows in OpenOffice Presentation Document

Creating the Template

OpenDocument Presentation (ODP) is a presentation document format which can be used as an alternative to Microsoft PowerPoint Document (PPT/PPTX) formats. Since ODP is not a Microsoft Proprietary format, there are multiple software (including Microsoft Office and Apache OpenOffice) available to create, open, edit and save this format. For more information on the available software to work with ODP, please visit wikipedia article.

In this topic, we ’ll not reinvent the wheel to recreate a template for generating an ‘In-Table List with Highlighted Rows’ report in ODP format. Instead, we’ll save the existing template to ODP format using Microsoft Office. In order to achieve this; assuming you are using Microsoft Office 2010, please follow below steps:

  1. Open existing template we created in previous topic.
  2. Click “File” and select “Save As”.
  3. Select “OpenDocument Presentation” from “Save As Type” drop down.
  4. Click “Save”.

Download Template

Generating the Report

Custom Objects

// For complete examples and data files, please go to https://github.com/groupdocs-assembly/GroupDocs.Assembly-for-.NET
//Setting up source open presentation template
const String strPresentationTemplate = "Presentation Templates/In-Table List with Highlighted Rows_OpenDocument.odp";
//Setting up destination open presentation report
const String strPresentationReport = "Presentation Reports/In-Table List with Highlighted Rows Report.odp";
try
{
//Instantiate DocumentAssembler class
DocumentAssembler assembler = new DocumentAssembler();
//Call AssembleDocument to generate In-Table List with Highlighted Rows Report in open presentation format
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate),
CommonUtilities.SetDestinationDocument(strPresentationReport),
new DataSourceInfo(DataLayer.GetOrdersData(), "orders"));
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}

Database Entities

// For complete examples and data files, please go to https://github.com/groupdocs-assembly/GroupDocs.Assembly-for-.NET
//Setting up source open presentation template
const String strPresentationTemplate = "Presentation Templates/In-Table List with Highlighted Rows_DB_OpenDocument.odp";
//Setting up destination open presentation report
const String strPresentationReport = "Presentation Reports/In-Table List with Highlighted Rows_DB Report.odp";
try
{
//Instantiate DocumentAssembler class
DocumentAssembler assembler = new DocumentAssembler();
//Call AssembleDocument to generate In-Table List with Highlighted Rows Report in open presentation format
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate),
CommonUtilities.SetDestinationDocument(strPresentationReport),
new DataSourceInfo(DataLayer.GetOrdersDataDB(), "orders"));
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}

Using DataSet

// For complete examples and data files, please go to https://github.com/groupdocs-assembly/GroupDocs.Assembly-for-.NET
//Setting up source open presentation template
const String strPresentationTemplate = "Presentation Templates/In-Table List with Highlighted Rows_DT_OpenDocument.odp";
//Setting up destination open presentation report
const String strPresentationReport = "Presentation Reports/In-Table List with Highlighted Rows_DT Report.odp";
try
{
//Instantiate DocumentAssembler class
DocumentAssembler assembler = new DocumentAssembler();
//Call AssembleDocument to generate In-Table List with Highlighted Rows Report in open presentation format
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate),
CommonUtilities.SetDestinationDocument(strPresentationReport),
new DataSourceInfo(DataLayer.GetCustomersAndOrdersDataDT(), "ds"));
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}

Using XML DataSource

// For complete examples and data files, please go to https://github.com/groupdocsassembly/GroupDocs_Assembly_NET
//Setting up source open presentation template
const String strPresentationTemplate = "Presentation Templates/In-Table List with Highlighted Rows_XML_OpenDocument.odp";
//Setting up destination open presentation report
const String strPresentationReport = "Presentation Reports/In-Table List with Highlighted Rows_XML Report.odp";
try
{
//Instantiate DocumentAssembler class
DocumentAssembler assembler = new DocumentAssembler();
//Call AssembleDocument to generate In-Table List with Highlighted Rows Report in open presentation format
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetAllDataFromXML(), "ds");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}

Using JSON DataSource

// For complete examples and data files, please go to https://github.com/groupdocs-assembly/GroupDocs.Assembly-for-.NET
//setting up source
const String strDocumentTemplate = "Presentation Templates/In-Table List with Highlighted Rows_OpenDocument.odp";
//Setting up destination
const String strDocumentReport = "Presentation Reports/In-Table List with Highlighted Rows_OpenDocument_Json Report.odp";
try
{
//Instantiate DocumentAssembler class
DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class
//Call AssembleDocument to generate In-Table List with Highlighted Rows report in open presentation format
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate),
CommonUtilities.SetDestinationDocument(strDocumentReport),
new DataSourceInfo(DataLayer.GetCustomerOrderDataFromJson(), "orders"));
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}

ODP Template and Report in Apache OpenOffice

In order to check compatibility of ODP between Microsoft Office 2010 and Apache OpenOffice 4.1.2, we performed below tests:

  • We opened the ODP template created through Microsoft Office 2010 in Apache OpenOffice 4.1.2. The template opened successfully in Apache OpenOffice without any issues or formatting losses.
  • We opened the ODP report generated through GroupDocs.Assembly in Apache OpenOffice 4.1.2. The report opened successfully in Apache OpenOffice without any issues or formatting losses.
Close
Loading

Analyzing your prompt, please hold on...

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