Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Info
titleFollowing the Sample Code

In the downloadable PowerPointWriter_BasicTutorials.zip under ProjectProposal, there is a completed template file located in ProjectProposal/templates/part1_template.pptx.

1. Start with a blank .pptx file. Save the file as part1_template.pptx.

2. Set the presentation theme by going to the Design tab.

3. Add 3 text boxes to the first slide and populate the one you want to use as the title with the data marker %%=Proposal.Name

Image Removed

In the other two text boxes, add the %%=Proposal.Date, %%=Proposal.ReviewStatus data markers. The final slide should look something like the one below.

Image Removed

4. Add a new slide to the presentation. This slide should consist of two text boxes, one for the title and a large one for the body of text. In the title text box, place the data marker %%=Proposal.Name. Note that this is the same as the data marker used on our first slide.

The rest of the slide will contain additional data about the proposal from the 'Proposal' data source. The data markers we are adding are: %%=Proposal.Leader, %%=Proposal.Start, %%=Proposal.Estimate, %%= Proposal.Summary and %%=Proposal.ReviewStatus. Because PowerPointWriter supports data markers embedded in text, we only need one text box for this information.

The finished slide should look like the one below.

Image Removed

Adding a PowerPointWriter Reference in Visual Studio

...

Info
titleFollowing the Sample Code

There is a sample web application page Part1.aspx and code behind Part1.aspx.cs available in the ProjectProposal/templates/part1_template.pptx directory that shows the completed code.

1. Include the SoftArtisans.OfficeWriter.PowerPointWriter namespace in the code behind

Code Block

using SoftArtisans.OfficeWriter.PowerPointWriter;

2. In the method that will actually create the presentation, instantiate the PowerPointTemplate object.

Code Block

PowerPointTemplate pptt = new PowerPointTemplate();

3. Open the template file for the presentation.

Code Block

pptt.Open(Page.MapPath("//templates//part1_template.pptx"));

4. Create a DatabindingProperties object for binding data to the template.

Code Block

DataBindingProperties dataProps = pptt.CreateDataBindingProperties();

5. Create two arrays to hold the values for the presentation. The first is the array of values to add to the presentation. The second contains the column names. The column names values must match the data markers in the template.

Code Block

//The values to display
 object[] valuesArray = { "Project Name", "Project Date", "Review", "Leader Name", "Start Date", "Cost Estimate", "Project Summary" };

//The column names are the same as the data markers
string[] columnNamesArray = {"Name", "Date", "ReviewStatus", "Leader", "Start", "Estimate", "Summary"};

6. Bind the data to the template. Make sure the data source name is the same as the name used in the template.

Code Block

pptt.BindData(valuesArray, columnNamesArray, "Proposal", dataProps);

7. Call process to import the data into the template and save the file.

Code Block

pptt.Process();

//Stream the output in the response as an attachment
pptt.Save(Page.Response, "Part1_Output.xlsx", false);

Final Code

Code Block
PowerPointTemplate pptt = new PowerPointTemplate();
pptt.Open(Page.MapPath("//templates//part1_template.pptx"));
DataBindingProperties dataProps = pptt.CreateDataBindingProperties();
object[] valuesArray = { "Project Name", "Project Date", "Review", "Leader Name", "Start Date", "Cost Estimate", "Project Summary" };
string[] columnNamesArray = {"Name", "Date", "ReviewStatus", "Leader", "Start", "Estimate", "Summary"};
pptt.BindData(valuesArray, columnNamesArray, "Proposal", dataProps);
pptt.Process();
pptt.Save(Page.Response, "Part1_Output.xlsx", false)

Downloads

You can download the code for the Basic PowerPointWriter Tutorials as a Visual Studio solution, which includes the Project Proposal.

...

Next Steps

Continue on to Part 2 - Repeat Behavior and Delete Slide