0

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
4

2 に答える 2

2

HTML に書き込んで .doc 拡張子を付けて保存すると、Word で適切に処理されます。

于 2011-05-24T17:50:54.843 に答える
0

Excel に関する質問に対する私の回答と同じように、ここでもOffice Writerが機能します。

于 2011-06-07T04:12:36.133 に答える