Mail-Merge HTML из базы данных в MS Word
Вопрос
Проект: Использование VB.NET для создания интерфейса базы данных WinForms и приложение для работы автоматизации.
я использую Этот редактор Для пользователей для ввода их текста в среде интерфейса базы данных, которая будет нагружать / сохранить / показывать им то, что они работают в форме, а также Mail - объединение в документ Word ждет содержимого. Я могу сделать первый шаг, и он хорошо работает, но как мне получить MS Word распознавать HTML в качестве форматирования вместо того, чтобы просто слиться в тегах и текстах все как текст?
Инструмент Имеет две соответствующие свойства: один, чтобы получить только текст (без разметки, т. Е. Нет HTML) и один, чтобы получить полную разметку с HTML. Оба из них в текстовом формате (которые я использую для удобного хранения в базе данных).
Идеи / направления Я могу думать о:
1) Используйте буфер обмена. Я могу скопировать / вставить контент прямо из окна редактора в Word, и он отлично работает! Но загрузка из базы данных значительно отличается, даже при использовании буфера обмена программно. (Может быть, я не понимаю, как использовать инструменты для буфера обмена)
2) Может быть, есть библиотека или класс / функция в Word, которые могут понять HTML как «Mergable» содержимого?
Спасибо!
: -Дан
Решение 2
Я закончил использовать буфер обмена, чтобы установить текст. Вот образец кода, который мне нужно было ответить на этот вопрос.
Clipboard.SetText(Me._Object.Property, TextDataFormat.Rtf)
Я просто не знал, как сказать компьютеру, что содержимое было HTML или RTF и т. Д. Это оказалось простым.
: -Дан
Другие советы
Вы можете использовать нашу (Sautinsoft) .NET библиотеку для преобразования каждого из ваших HTML-данных в документ Word. Далее вы можете объединить все произведенные документы Word в одно слово документ. Компонент также имеет функцию объединения документов Word.
Это ссылка загрузки компонента: http://www.sautinsoft.com/products/html-to-rtf/download.php.
Это пример код для преобразования HTML к документу Word в памяти:
Dim h As New SautinSoft.HtmlToRtf
Dim rtfString As String = ""
rtfString = h.ConvertString(htmlString)
Это пример кода для объединения двух документов в памяти:
Dim h As New SautinSoft.HtmlToRtf
Dim rtfSingle As String = ""
rtfSingle = h.MergeRtfString(rtf1, rtf2)