यह गाइड Java के साथ MS Word में मेल मर्ज करने का तरीका बताता है। इसमें IDE सेट करने की जानकारी, चरणों की सूची, और Java के साथ Word में मेल मर्ज करने का तरीका दर्शाने वाला एक नमूना कोड शामिल है। यह कोड सभी आवश्यक डेटा उत्पन्न करता है ताकि निष्पादन के दौरान कोई संसाधन गायब न हो।
Java के साथ Word में मेल मर्ज करने के चरण
- Aspose.Words for Java का उपयोग करके मेल मर्ज करने के लिए वातावरण सेट करें
- DocumentBuilder क्लास का उपयोग करके एक Document ऑब्जेक्ट में Word फ़ाइल टेम्पलेट बनाएं
- insertField() मेथड का उपयोग करके टेम्पलेट में सभी फ़ील्ड जोड़ें
- Word टेम्पलेट फ़ाइल में फ़ील्ड के अनुसार इनपुट XML फ़ाइल बनाएं
- Word टेम्पलेट फ़ाइल को Document ऑब्जेक्ट में लोड करें
- Document क्लास में getMailMerge().execute() मेथड को कॉल करके आउटपुट Word फ़ाइल बनाएं
- आउटपुट Word फ़ाइल को सेव करें
उपरोक्त चरण Java के साथ Word में मेल मर्ज करने का तरीका बताते हैं। आप एक नया Word टेम्पलेट फ़ाइल बना सकते हैं या किसी मौजूदा टेम्पलेट फ़ाइल को Document ऑब्जेक्ट में लोड कर सकते हैं। फिर XML फ़ाइल को DataSet ऑब्जेक्ट में पढ़ें और अंत में getMailMerge().execute() मेथड को कॉल करके आउटपुट को सेव करें।
Java के साथ MS Word में मेल मर्ज करने का कोड
import com.aspose.words.*; | |
import com.aspose.words.net.System.Data.DataSet; | |
import java.io.FileWriter; | |
import java.io.IOException; | |
public class Main { | |
public static void main(String[] args) throws Exception { | |
License pdfLicense = new License(); | |
pdfLicense.setLicense("license.lic"); | |
// Create a student report template | |
Document document = createStudentReportTemplate(); | |
document.save("ReportTemplate.docx"); | |
System.out.println("Report Template generated successfully."); | |
// Generate an XML file with sample student data | |
String xmlFileName = generateSampleStudentData(); | |
System.out.println("Sample XML file '" + xmlFileName + "' has been created."); | |
// Perform mail merge using the dataset | |
Document doc = new Document("ReportTemplate.docx"); | |
DataSet studentDataset = readXmlToDataSet(xmlFileName); | |
doc.getMailMerge().execute(studentDataset.getTables().get("Student")); | |
// Save the final report | |
doc.save("FinalReports.docx"); | |
System.out.println("Mail merge completed. Output saved as 'FinalReports.docx'."); | |
} | |
static Document createStudentReportTemplate() throws Exception { | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
// Insert student name fields | |
builder.insertField("MERGEFIELD StudentFirstName \\\u002A MERGEFORMAT"); | |
builder.insertField("MERGEFIELD StudentLastName \\\u002A MERGEFORMAT"); | |
builder.writeln(); | |
// Insert academic details | |
builder.insertField("MERGEFIELD Subject \\\u002A MERGEFORMAT"); | |
builder.insertBreak(BreakType.LINE_BREAK); | |
builder.insertField("MERGEFIELD MarksObtained \\\u002A MERGEFORMAT"); | |
builder.insertBreak(BreakType.LINE_BREAK); | |
builder.insertField("MERGEFIELD TotalMarks \\\u002A MERGEFORMAT"); | |
builder.insertBreak(BreakType.LINE_BREAK); | |
builder.insertField("MERGEFIELD Grade \\\u002A MERGEFORMAT"); | |
builder.writeln(); | |
// Insert teacher comments | |
builder.insertField("MERGEFIELD TeacherComments \\\u002A MERGEFORMAT"); | |
builder.insertBreak(BreakType.LINE_BREAK); | |
// Insert principal's name | |
builder.insertField("MERGEFIELD PrincipalName \\\u002A MERGEFORMAT"); | |
builder.writeln(); | |
return doc; | |
} | |
static String generateSampleStudentData() throws IOException { | |
String fileName = "StudentData.xml"; | |
String xmlContent = """ | |
<Students> | |
<Student> | |
<StudentFirstName>Emily</StudentFirstName> | |
<StudentLastName>Johnson</StudentLastName> | |
<Subject>Mathematics</Subject> | |
<MarksObtained>85</MarksObtained> | |
<TotalMarks>100</TotalMarks> | |
<Grade>A</Grade> | |
<TeacherComments>Excellent performance!</TeacherComments> | |
<PrincipalName>Dr. William Carter</PrincipalName> | |
</Student> | |
<Student> | |
<StudentFirstName>Liam</StudentFirstName> | |
<StudentLastName>Smith</StudentLastName> | |
<Subject>Science</Subject> | |
<MarksObtained>78</MarksObtained> | |
<TotalMarks>100</TotalMarks> | |
<Grade>B</Grade> | |
<TeacherComments>Good effort, keep improving.</TeacherComments> | |
<PrincipalName>Dr. William Carter</PrincipalName> | |
</Student> | |
</Students> | |
"""; | |
try (FileWriter writer = new FileWriter(fileName)) { | |
writer.write(xmlContent); | |
} | |
return fileName; | |
} | |
static DataSet readXmlToDataSet(String xmlFileName) throws Exception { | |
DataSet dataSet = new DataSet(); | |
dataSet.readXml(xmlFileName); | |
return dataSet; | |
} | |
} |
यह कोड Java के साथ MS Word में मेल मर्ज करने के सभी चरणों को निष्पादित करता है। DocumentBuilder क्लास में कई मेथड और गुण होते हैं जो टेम्पलेट फ़ाइल को प्रारूपित करने और अनुकूलित करने के लिए उपयोग किए जा सकते हैं। यह कोड आउटपुट Word फ़ाइल में प्रत्येक रिकॉर्ड के लिए एक अलग पृष्ठ उत्पन्न करेगा।
इस लेख में हमने Java के साथ Word में मेल मर्ज का उपयोग करने का तरीका सीखा। यदि आप किसी मौजूदा फ़ाइल में टेबल शैली सेट करना चाहते हैं, तो Java के साथ Word में टेबल डिज़ाइन करें लेख देखें।