This guide will explain how to import a single row of values into a PowerPoint presentation using data markers. This assumes a basic understanding of [data markers|How to use Data Markers]. |
The template file should contain data markers following proper data marker syntax. Each copy of a given data marker will be populated with the same value. If the data marker appears in a table row or list entry, nothing will be automatically repeated if only one row is imported.
PowerPointTemplate has a single method for binding data to the data markers that are located in the template: {{[PowerPointTemplate.BindData]}}. Depending on the data source type and the number of rows in the data source, PowerPointWriter will either import a single row of data or [import multiple rows|Importing Multiple Rows of Data].
There are several ways to import a single row of data into a presentation:
Arrays don't have built-in means to store column names. The user must specify the column names in a string array that is passed to {{PowerPointTemplate.BindData}} at run time.
PowerPointTemplate pptt = new PowerPointTemplate(); pptt.Open(@"C:\DataBinding\ArrayBindingTemplate.pptx"); string[] values = {"Hello World", "subtitle"}; string[] colNames = {"header", "subtitle"}; DataBindingProperties DataProps = pptt.CreateDataBindingProperties(); pptt.BindData(values, colNames, "DataSource1", DataProps); pptt.Process(); pptt.Save(Page.Response, "ArrayBinding.pptx", false); |
Dim pptt As New PowerPointTemplate(); pptt.Open("C:\DataBinding\ArrayBindingTemplate.pptx") Dim values = New String() {"Hello World", "subtitle"} Dim colNames = New String() {"header", "subtitle"} Dim DataProps As DataBindingProperites = pptt.CreateDataBindingProperties() pptt.BindData(values, colnames, "DataSource1", DataProps) pptt.Process() pptt.Save(Page.Repponse, "ArrayBinding.pptx", False) |
If a multi-dimensional data source has only one row of data, the automatic repeating behavior will not occur. This is consistent for any of the multi-dimensional data sources supported by [BindData|PowerPointTemplate.BindData]:
MaxRowsToImport is a property on the [DataBindingProperties] object that can be used to limit the number of rows that are imported, regardless of how many rows are actually in the data source.
DataBindingProperties dataProps = ppt.CreateDataBindingProperties(); dataProps.MaxRowsToImport = 1; ppt.BindData(getDataTable(), "DataSourceName", dataProps); |