Как создать файл xlsx из XML, используя XSLT в java

Я могу создать только файл xls со старым форматом, который является Microsoft Spreadsheet 97-2003, но я предпочел бы пойти на что-то более новое.

Как создать новый формат xlsx?

Я использую javax.xml.transform java package.

Вот кусок java-кода

 tFactory = TransformerFactory.newInstance(); transformer = tFactory.newTransformer(new StreamSource("file.xslt")); transformer.transform(streamSource, new StreamResult(new FileOutputStream(filenameXls))); 

Я попытался использовать различное определение стилей xsl, но это не помогло.

Это мой xlst-файл.

 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <xsl:stylesheet version="1.0" xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"> <xsl:output method="html" encoding="utf-8" indent="yes" doctype-public="-//W3C//DTD XHTML 1.1 Strict//EN" version="1.0" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" xml:lang="pl" /> <xsl:decimal-format name="euro" decimal-separator="," grouping-separator="."/> <xsl:template match="/"> <Worksheet ss:Protected="0" ss:Name="Name"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <style> td { margin:auto; text-align:center; vertical-align:middle; } table th h2 { background-color:rgb(198,239,206); } th.important { background-color:rgb(255,235,166); } </style> </head> <body> <table border="1"> <tr><th> <h2>Articles</h2> </th></tr> </table> <table border="1"> <tr> <th>Lp.</th> <th class="important">Title</th> <th class="important">Date</th> <th class="important">Autors</th> <th class="important">Afilliated</th> <th class="important">Employed</th> </tr> <xsl:for-each select="works/article"> <tr> <td><xsl:value-of select="lp"/></td> <td><xsl:value-of select="title"/></td> <td><xsl:value-of select="publication-date"/></td> <td> <ul> <xsl:for-each select="./author"> <li> <xsl:value-of select="given-names"/> <xsl:value-of select="family-name"/> </li> </xsl:for-each> </ul> </td> <td> <ul> <xsl:for-each select="./author"> <li> <xsl:value-of select="affiliated-to-unit"/> </li> </xsl:for-each> </ul> </td> <td> <ul> <xsl:for-each select="./author"> <li> <xsl:value-of select="employed-in-unit"/> </li> </xsl:for-each> </ul> </td> </tr> </xsl:for-each> </table> </body> </html> </Worksheet> </xsl:template> </xsl:stylesheet> 

Interesting Posts

Неадекватная эволюция формулы Apache

синтаксис Ubound (Array), где array – это союз диапазонов

Получение ошибки в xmlhttp-запросе, но работающий отлично с IE-запросом

Excel VBA не разбивает именованные диапазоны / строки при использовании разрыва страницы в макросе

Открыть xls и xlsx с помощью Apache POI

Сохранить созданный файл excel с диалоговом

импортирование файла excel с большим количеством данных дает 502 ошибочную ошибку шлюза

Автоматизация 31 шаблонов или 1 шаблон

Функция поиска, значение базовой даты

Буквенно-цифровая сортировка в соответствии с возрастающим числовым значением?

Excel VBA Запись файла FDF с использованием переменных

Count и Remove Duplicates, оставляя количество удаленных дубликатов плюс уникальное значение (Function Key / Send Key / Calculate)

Значения коллекции Excel в рабочем листе

Ссылка на ячейку в Excel на основе критериев в двух уникальных столбцах

Вычислите средний балл по периодам в Powerbi

Давайте будем гением компьютера.