Как заполнить текстовый документ с помощью Visual Basic / Visual C# в ASP.NET
Я ищу варианты, чтобы заполнить документ Word из Visual Basic или Visual C#. В настоящее время я использую поля слияния и приведенный ниже код для заполнения определенных полей в документе 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
2 ответа
Как и мой ответ на ваш вопрос, касающийся Excel, Office Writer будет работать и для вас!
Вы можете записать в HTML и сохранить его с расширением.doc, и Word выполнит его корректно.