简介:处理流程表单数据以WordXML形式填充Word文档表格换行符丢失问题
//将前台收集的XML中“$”循环拆分成"<w:br/>" by pengyc 解决表格填充word换行符丢失问题 2016-02-04 string val=cells[k].InnerText; if (val.IndexOf("\r\n") > 0) { //处理多行数据 string[] arrVals = val.Split('\r\n'); tNode.InnerText = arrVals[0]; for (var it = 1; it < arrVals.Length; it++) { XmlNode brNode = xd.CreateElement("w:br", "http://schemas.microsoft.com/office/word/2003/wordml"); brNode.Attributes.Append(xd.CreateAttribute("w:mysoft", "http://schemas.microsoft.com/office/word/2003/wordml")); XmlNode multilineNode = xd.CreateElement("w:t", "http://schemas.microsoft.com/office/word/2003/wordml"); multilineNode.Attributes.Append(xd.CreateAttribute("w:mysoft", "http://schemas.microsoft.com/office/word/2003/wordml")); tNode.AppendChild(brNode); multilineNode.InnerText = arrVals[it]; tNode.AppendChild(multilineNode); } } else { tNode.InnerText = val; }
以下是解决此问题过程中网上找的关于WordXMl学习的资料链接,比较详细.
http://www.cnblogs.com/forlina/archive/2011/06/09/2076559.html
Web页面的换行符(\r\n)和word本身的换行不一样,特别表现在word的table表格(说明:此处是以书签的形式填充Table)
但是Word表格外的域支持换行符“\r\n”,如下图:
如果在word的table中使用\r\n换行,word不会转换。
所以最终以<w:br/>替换word文档表格单元格的换行符,替换代码块如上所述。