簡介:處理流程表單數據以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文檔表格單元格的換行符,替換代碼塊如上所述。
