Ashley Kilgour
Ashley Kilgour

Reputation: 1258

Creating docx OOXML with c#

I was hoping for a good point in the correct direction, as this is something I have never done, and googling is getting me tied in knots.

I want to create a word document (docx) from C# on a ASP.NET MVC application.

Populating a template with something like mail merge would be great.

I have spent day googling this and keep finding archived documentation.

The following examples are from 2012 https://msdn.microsoft.com/en-us/library/office/bb491088.aspx

Upvotes: 0

Views: 1127

Answers (2)

Monica Glassford
Monica Glassford

Reputation: 11

Because you will generate documents on the server you should avoid Interop for document manipulation. You can use free libraries and SDKs based on OpenXML but this is difficult to learn and error prone.

It probably makes sense to choose one among 3rd party toolkits to get the job done quick and easy. Start by preparing MS Word template documents with placeholders for data. Then you can use c# to load the data for the reports and merge the data with templates to get final documents (docx, pdf, xps or image formats). Here is the code used by one such toolkit needed for merging data from the database with the template to get a pdf document:

IEnumerable<Customer> customers = DataAccess.GetCustomerById(15);
DocumentGenerator dg = new DocumentGenerator(customers);
DocumentGenerationResult result = dg.GenerateDocument("MyTemplate.docx", "MyReport.pdf");

You can also see these examples for more information.

Upvotes: 1

Max Marijana
Max Marijana

Reputation: 1

Maybe Templater can be of help.. This is small library you can use to create word document on ASP.NET looking like mail merge... Try demo http://templater.info/demo

Upvotes: 0

Related Questions