I have two requirements
1. After uploading a word template to server I want only to retrieve data from table which match to fields in word template. As an example suppose my template consists with <<name>> and <<tel no>> fields. Without having knowledge about it but just using template get the details of those columns. (In simple word read the fields in word template )
2. This is little bit related to 1st one, What will happen when if user uploads wrong template, How do I check that (I mean content)..
Thanks
I found this method
string[] fieldNames = doc.MailMerge.GetMergeFieldNames();
but this works only for EmployeesReportDemo.doc template given by Syncfusion and it also only gives the first field name only.( <<Employees>> ). And this is not working templates which generated by my self. I follow correct way to create templates. Please help me.
Hi Chathuranga,
Thank you for your interest in Syncfusion products.
We are not able to reproduce the mentioned issue with GetMergeFieldNames() method. For your reference please find the sample that we have used to reproduce the issue.
Sample:
http://www.syncfusion.com/downloads/Support/DirectTrac/99902/Sample411530762.zip
Could you please provide us the input document and code snippets that you have used on your side? So that we can analyze further the exact cause of issue and provide you the proper solution.
Please let us know if you have any question.
Regards
Ramkumar
Hello
thanks for your reply,
I looked at the project you provided here, It works well, But the case is I am using web forms, I have tested this thing in vs2008 with WCSF (which I really need to apply this thing) and in vs2010(.4). Non of then get correct results. So I attached both projects with this. Please have a look at about it and I am appreciating your help
please I need help
Hi Chathuranga,
Thank you for your update.
On analyzing your sample application, we found that you have used document.MailMerge.GetMergeGroupNames() to get merge field names available in the document. But document.MailMerge.GetMergeGroupNames() return only collection of the Merge Field Group names (table names) available in the document like <TableStart:Tablename>” and “<BeginGroup:TableName>”.
You can get the collection of the Merge Fields available in the document by using the doc.MailMerge.GetMergeFieldNames() method. To get collection of the Merge Fields for a specific group in the document by using the doc.MailMerge.GetMergeFieldNames(String groupName) method.
For more information on DocIO mail merge functions please refer the below link
For your reference please use the below code snippets and let us know if this helps you.
Code snippets:
string templateFilePath = Server.MapPath("~/db/t1.doc");
WordDocument document = new WordDocument();// Creating a new document.
document.Open(templateFilePath, FormatType.Doc); // Load template
string[] groupNames = document.MailMerge.GetMergeGroupNames();
//To get merge fields of particular group(particular table)
foreach (string group in groupNames)
{
string[] mergeFieldsInParticularGroup = document.MailMerge.GetMergeFieldNames(group);
}
//To get all merge available in the document
string[] allMergeFields = document.MailMerge.GetMergeFieldNames();
Please let us know if you have any question.
Regards
Ramkumar
thanks
Hi Chathuranga,
Thank you for your update.
Please let us know if you have any other questions.
Regards,
Deiva selvan