In-Table List With Alternate Content in Presentation Document

Note
In this article, we will use GroupDocs.Assembly to generate a In-Table List With Alternate Content report in Presentation Document format based on the use case: Working with a Business Case.

In-Table List With Alternate Content in Microsoft PowerPoint Document

Creating a In-Table List With Alternate Content

Practicing the following steps you can create In-Table List With Alternate Content Template in MS PowerPoint 2013.

  1. Add a new presentation slide.
  2. Press “Insert” tab to insert the table.
  3. Insert a 2X3 table.
  4. Save the template.

Reporting Requirement

As a report developer, you are required to represent your products and their prices with the following key requirements:

  • Report must show each product along with its price.
  • It must show sum of all the prices.
  • 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

Products

Order Price

<<if [!Any()]>>No data

<<else>><<foreach [in orders]>><<[Product.ProductName]>>

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

Total:

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

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 Alternate Content Template

Please download the sample In-Table List With Alternate Content document we created in this article:

Generating The Report

Custom Objects

Note
The code uses some of the objects defined in: The Business Layer
// For complete examples and data files, please go to https://github.com/groupdocsassembly/GroupDocs_Assembly_NET
//Setting up source spreadsheet template
const String strPresentationTemplate = "Presentation Templates/In-Table List with Alternate Content.pptx";
//Setting up destination document report
const String strPresentationReport = "Presentation Reports/In-Table List with Alternate Content Report.pptx";
try
{
//Instantiate DocumentAssembler class
DocumentAssembler assembler = new DocumentAssembler();
//Call AssembleDocument to generate In-Table List with Alternate Content Report in presentation format
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetOrdersData(), "orders");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}

Database Entities

Note
The code uses some of the objects defined in: The Business Layer
// For complete examples and data files, please go to https://github.com/groupdocsassembly/GroupDocs_Assembly_NET
//Setting up source spreadsheet template
const String strPresentationTemplate = "Presentation Templates/In-Table List with Alternate Content_DB.pptx";
//Setting up destination document report
const String strPresentationReport = "Presentation Reports/In-Table List with Alternate Content_DB Report.pptx";
try
{
//Instantiate DocumentAssembler class
DocumentAssembler assembler = new DocumentAssembler();
//Call AssembleDocument to generate In-Table List with Alternate Content Report in presentation format
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetProductsDataDB(), "products");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}

Using DataSet

Note
The code uses some of the objects defined in: The Business Layer
// For complete examples and data files, please go to https://github.com/groupdocsassembly/GroupDocs_Assembly_NET
//Setting up source spreadsheet template
const String strPresentationTemplate = "Presentation Templates/In-Table List with Alternate Content_DT.pptx";
//Setting up destination document report
const String strPresentationReport = "Presentation Reports/In-Table List with Alternate Content_DT Report.pptx";
try
{
//Instantiate DocumentAssembler class
DocumentAssembler assembler = new DocumentAssembler();
//Call AssembleDocument to generate In-Table List with Alternate Content Report in presentation format
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetProductsDT(), "ds");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}

Using XML DataSource

Note
The code uses some of the objects defined in: The Business Layer
// For complete examples and data files, please go to https://github.com/groupdocsassembly/GroupDocs_Assembly_NET
//Setting up source spreadsheet template
const String strPresentationTemplate = "Presentation Templates/In-Table List with Alternate Content_XML.pptx";
//Setting up destination document report
const String strPresentationReport = "Presentation Reports/In-Table List with Alternate Content_XML Report.pptx";
try
{
//Instantiate DocumentAssembler class
DocumentAssembler assembler = new DocumentAssembler();
//Call AssembleDocument to generate In-Table List with Alternate Content Report in presentation format
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetAllDataFromXML(), "ds");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}

Using JSON DataSource

Note
The code uses some of the objects defined in: The Business Layer
// For complete examples and data files, please go to https://github.com/groupdocsassembly/GroupDocs_Assembly_NET
//setting up source
const String strDocumentTemplate = "Presentation Templates/In-Table List with Alternate Content.pptx";
//Setting up destination
const String strDocumentReport = "Presentation Reports/In-Table List with Alternate Content_Json Report.pptx";
try
{
//Instantiate DocumentAssembler class
DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class
//Call AssembleDocument to generate In-Table List with Alternate Content report in presentation format
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}

In-Table List With Alternate Content 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 Alternate Content’ 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

Note
The code uses some of the objects defined in: The Business Layer
// 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 Alternate Content_OpenDocument.odp";
//Setting up destination open presentation report
const String strPresentationReport = "Presentation Reports/In-Table List with Alternate Content Report.odp";
try
{
//Instantiate DocumentAssembler class
DocumentAssembler assembler = new DocumentAssembler();
//Call AssembleDocument to generate In-Table List with Alternate Content Report in open presentation format
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetOrdersData(), "orders");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}

Database Entities

Note
The code uses some of the objects defined in: The Business Layer
// 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 Alternate Content_DB_OpenDocument.odp";
//Setting up destination open presentation report
const String strPresentationReport = "Presentation Reports/In-Table List with Alternate Content_DB Report.odp";
try
{
//Instantiate DocumentAssembler class
DocumentAssembler assembler = new DocumentAssembler();
//Call AssembleDocument to generate In-Table List with Alternate Content Report in open presentation format
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetProductsDataDB(), "products");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}

Using DataSet

Note
The code uses some of the objects defined in: The Business Layer
// 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 Alternate Content_DT_OpenDocument.odp";
//Setting up destination open presentation report
const String strPresentationReport = "Presentation Reports/In-Table List with Alternate Content_DT Report.odp";
try
{
//Instantiate DocumentAssembler class
DocumentAssembler assembler = new DocumentAssembler();
//Call AssembleDocument to generate In-Table List with Alternate Content Report in open presentation format
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetProductsDT(), "ds");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}

Using XML DataSource

Note
The code uses some of the objects defined in: The Business Layer
// 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 Alternate Content_XML_OpenDocument.odp";
//Setting up destination open presentation report
const String strPresentationReport = "Presentation Reports/In-Table List with Alternate Content_XML Report.odp";
try
{
//Instantiate DocumentAssembler class
DocumentAssembler assembler = new DocumentAssembler();
//Call AssembleDocument to generate In-Table List with Alternate Content 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

Note
The code uses some of the objects defined in: The Business Layer
// For complete examples and data files, please go to https://github.com/groupdocsassembly/GroupDocs_Assembly_NET
//setting up source
const String strDocumentTemplate = "Presentation Templates/In-Table List with Alternate Content_OpenDocument.odp";
//Setting up destination
const String strDocumentReport = "Presentation Reports/In-Table List with Alternate Content_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 Alternate Content report in presentation format
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), 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.