POI根据word模板替换导出setText内容不能换行问题。

//word模板路径
String inFile = rootPath+"报告.docx";
//word输出路径
String outFile = rootPath + "输出报告.docx";

XWPFDocument doc;
//params 参数 
Map params = new HashMap();
params.put("titleOne","1、重新组织全科护理人员学习口服药的执行流程并作考核。\r2、加强病人安全管理相关制度的学习、提高安全生产意识。\r3、组长、护长加强制度落实的监管,持续跟进一周责任护士发放口服药的流程执行情况,并不定期进行随检。");
 try {
	InputStream is = new FileInputStream(inFile);  
	doc = new XWPFDocument(OPCPackage.open(is));
	Set> set = params.entrySet();
	List list = doc.getParagraphs();
	//para 要替换的段落 
	for(XWPFParagraph para:list){
		List runs = para.getRuns();
		for (int i=0; i0) {
					String[] text = runText.split("\r");
					//直接调用XWPFRun的setText()方法设置文本时,在底层会重新创建一个XWPFRun,把文本附加在当前文本后面,  
                                        //所以我们不能直接设值,需要先删除当前run,然后再自己手动插入一个新的run。  
					para.removeRun(i);
					run = para.insertNewRun(i);
					for(int f=0;f
此文给java用poi操作word模板是出现不能换行的朋友一个建议,仅供参考。如有问题请留言。

你可能感兴趣的:(个人记录)