Web页面转换成Word文件,利用wordXML

简介:处理流程表单数据以WordXML形式填充Word文档表格换行符丢失问题 

  //将前台收集的XML中“$”循环拆分成"<w:br/>" by pengyc 解决表格填充word换行符丢失问题 2016-02-04
                                    string val=cells[k].InnerText;
                                    if (val.IndexOf("
") > 0)
                                    {
                                        //处理多行数据
                                        string[] arrVals = val.Split('
');
                                        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页面的换行符( )和word本身的换行不一样,特别表现在word的table表格(说明:此处是以书签的形式填充Table)

但是Word表格外的域支持换行符“ ”,如下图:

如果在word的table中使用 换行,word不会转换。

所以最终以<w:br/>替换word文档表格单元格的换行符,替换代码块如上所述。

原文地址:https://www.cnblogs.com/KingUp/p/5722504.html