...
Code Block |
---|
public void GenerateDocument()
{
// Create an instance of WordTemplate
WordTemplate wt = new WordTemplate();
// Open the template document
string templatePath = @"..\..\WordTemplateFiles\PurchaseOrderTemplate.docx";
wt.Open(templatePath);
// Query the database for header and detail information.
// Set these DataTables as WordTemplate data sources.
DataTable dtHeader = GetOrderHeaderData(@"..\..\WordData\PurchaseOrderDemoHeaderData.csv");
DataTable dtDetail = GetOrderDetailData(@"..\..\WordData\PurchaseOrderDemoDetailData.csv");
wt.SetDataSource(dtHeader);
wt.SetRepeatBlock(dtDetail, "OrderDetailQuery");
wt.Process();
// Save the document to the disc
wt.Save(@"..\..\WordOutputFiles\PurchaseOrder_output.docx");
}
/// <summary>Retrieve a DataTable of order header data</summary>
/// <param name="orderId">OrderID for which to retrieve data</param>
/// <returns>DataTable of the requested order's data</returns>
private DataTable GetOrderHeaderData(String csvFileName)
{
DataTable dt;
using (GenericParserAdapter parser = new GenericParserAdapter(csvFileName))
{
parser.ColumnDelimiter = ',';
parser.FirstRowHasHeader = true;
dt = parser.GetDataTable();
}
return dt;
}
/// <summary>Retrieve a ReusltSet of order detail line items</summary>
/// <param name="orderId">OrderID for which to retrieve data</param>
/// <returns>DataTable of the requested order's line items</returns>
private DataTable GetOrderDetailData(String csvFileName)
{
DataTable dt;
using (GenericParserAdapter parser = new GenericParserAdapter(csvFileName))
{
parser.ColumnDelimiter = ',';
parser.FirstRowHasHeader = true;
dt = parser.GetDataTable();
}
return dt;
}
|
Downloads
Panel |
---|
Template: PurchaseOrderTemplate.docx Output: PurchaseOrder_output.docx |
...