Создание документа Word из шаблона динамически с использованием значений из объектов Java - PullRequest
3 голосов
/ 14 марта 2012

Я хочу создать текстовый документ из HTML-страницы. Я планирую получить значения на странице HTML, а затем передать эти значения в шаблон документа. Я использовал JSOUP для анализа содержимого HTML-страницы, и я получил значения в своей Java-программе. Теперь я хочу передать эти значения в шаблон документа Word. Я хочу знать, каковы наилучшие методы, которые я могу использовать для создания шаблона документа, и передать значения в шаблон для создания документа word.

Спасибо.

Ответы [ 3 ]

5 голосов
/ 15 марта 2012

Я нашел что-то очень интересное и простое.Нам просто нужно создать простой XML-шаблон для документа, который мы хотим создать, а затем программно изменить содержимое XML-файла и сохранить его как документ MS Word.

Вы можете найти шаблон XML икод здесь .

2 голосов
/ 14 марта 2012

Я предлагаю вам использовать xslt, потому что ваши данные уже в формате xml и есть хорошо определенные xml-форматы от Microsoft.

Вы можете написать шаблон документа со словом и сохранить его в формате xml,Затем вы можете преобразовать word-xml в xsl-template с вашим html-xml в качестве входных данных.После xslt-преобразования у вас есть действительное слово xml с вашими динамическими значениями из html-xml.

Пример XSLT для excel

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="xml" encoding="UTF-8" omit-xml-declaration="no" />
<xsl:template match="/">
    <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office"
        xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
        xmlns:html="http://www.w3.org/TR/REC-html40">
        ...
        <xsl:for-each
            select="/yourroot/person">
        ...
        <Cell ss:StyleID="uf">
                            <Data ss:Type="String">
                                <xsl:value-of
                                    select="@Name" />
                            </Data>
                        </Cell>
        ..
        </xsl:for-each>

...
</xsl:template>
</xsl:stylesheet>
0 голосов
/ 15 марта 2012

JODReports и Docmosis также могут быть полезными параметрами для вас, так как есть заполнение шаблона и вывод документа.Если DOCX является вашей реальной целью, то вы можете написать документ самостоятельно, так как XML опубликован, но это большая работа.

...