如何在ASP.NET中使用Visual Basic / Visual C#填充Word文档

|| 我正在寻找从Visual Basic或Visual C#填充Word文档的选项。我目前正在使用合并字段,下面的代码用于填充Word文档中的特定字段,但是现在我遇到了需要将表格数据推送到MS Word的情况。无论如何,是否需要从网格视图中获取数据(行数是动态的),并使用合并字段或类似的字段将其导入到Word文档表中?我必须维护模板文档的格式,并希望能够控制页面的布局。
            Dim templateDoc As String = Server.MapPath(\"\\Userfiles\\docs\\\" & location)
            Dim mergePath As String = Server.MapPath(\"\\App_Data\\Temp\\\")
            Dim mergeFileName As String = location.Replace(\"/\", \"_\") & \".docx\"
            Dim mergeDoc As String = mergePath & \"\\\" & mergeFileName

            File.Copy(templateDoc, mergeDoc, True)

            Using pkg As Package = Package.Open(mergeDoc, FileMode.Open, FileAccess.ReadWrite)

                Dim uri As Uri = New Uri(\"/word/document.xml\", UriKind.Relative)
                Dim part As PackagePart = pkg.GetPart(uri)

                Dim xmlMainXMLDoc As XmlDocument = New XmlDocument()
                xmlMainXMLDoc.Load(part.GetStream(FileMode.Open, FileAccess.Read))

                Dim innerXml As String = xmlMainXMLDoc.InnerXml _
                                         .Replace(\"«Corporate Legal Name»\", businessName) _
                                         .Replace(\"«Address 1»\", mailingAddress1) _
                                         .Replace(\"«Address 2»\", mailingAddress2) _
                                         .Replace(\"«City»\", city)
                xmlMainXMLDoc.InnerXml = innerXml

                Using partWriter As New StreamWriter(part.GetStream(FileMode.Open, FileAccess.Write))
                    xmlMainXMLDoc.Save(partWriter)
                End Using

                pkg.Close()
            End Using
    
已邀请:
就像我对有关Excel的问题的回答一样,Office writer也将在这里为您服务!     
您可以用HTML书写并以.doc扩展名保存,Word会优雅地处理它。     

要回复问题请先登录注册