使用Java执行MailMerge时,换行符将在MicrosoftWord中转换为空格

时间:2016-07-08 05:37:52

标签: java ms-word newline mailmerge

使用Java执行邮件合并时,新行字符将转换为Microsoft Word中的空格。合并后,换行符将丢失。需要在合并完成后保留MicrosoftWord文本中的换行符。 使用IXDocReport执行mailmerge的Java代码:

package sample;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

import fr.opensagres.xdocreport.document.IXDocReport;
import fr.opensagres.xdocreport.document.registry.XDocReportRegistry;
import fr.opensagres.xdocreport.template.IContext;
import fr.opensagres.xdocreport.template.TemplateEngineKind;

public class Sample {

       public static void main(String[] args) throws Exception{

              // 1) Load ODT file and set Velocity template engine and cache it to the registry           

              InputStream in= new FileInputStream(new File("sample.docx"));
              IXDocReport report = XDocReportRegistry.getRegistry().loadReport(in, TemplateEngineKind.Velocity);

              // 2) Create Java model context 
              IContext context = report.createContext();
              context.put("name", "new \n world");

              // 3) Generate report by merging Java model with the ODT
              OutputStream out = new FileOutputStream(new File("ODTHelloWordWithVelocity_Out.docx"));
              report.process(context, out);
       }

}

0 个答案:

没有答案