Nano Hash - криптовалюты, майнинг, программирование

XML в XLSX и наоборот с помощью java

Я должен выполнить эту задачу: мне дан файл xml, который экспортируется из приложения, мне нужно сделать из него файл xlsx, содержащий иерархию таблиц, внести изменения в файл xlsx с помощью excel, а затем вернуть его обратно в xml со всеми Эти изменения. Все это с использованием Java. Я знаю о библиотеке apache poi. Для xlsx вы должны использовать XSSF вместо HSSF. Я проверил их примеры, манипулирующие Excel, но я борюсь с одной точкой. Примеры на официальных веб-сайтах poi показывают, как создать файл xlsx, содержащий таблицы, ячейки, содержащие различные данные, но куда идет часть XML и чтение файла XML? Мне нужен файл xlsx для просмотра в соответствии с XML.

Будем очень признательны за любую помощь или указатели в правильном направлении.

Мой файл примера XML:

<?xml version="1.0" encoding="utf-8" ?>
<data type="data">

  <title>Duomenų suvedimo formos pavadinimas</title>

  <fields>
    <item id="org" label="Institucija/Įstaiga" valueField="orgId" labelField="orgLabel" tooltipField="orgTooltip" type="dim" />

    <item id="R1" label="R1 pavadinimas" group="Katalogo pavadinimas" valueField="value1" type="value" inputEnabled="1" valueType="numeric"/>
    <item id="R2" label="R2 pavadinimas" group="Katalogo pavadinimas" valueField="value2" type="value" inputEnabled="1" valueType="numeric"/>
    <item id="R3" label="R3 išvestinis" group="Katalogo pavadinimas" valueField="value3" type="value" inputEnabled="0" valueType="numeric" formula="[R1]/12 + [R2]"/>
  </fields>

  <dataItems>
    <item orgId="ins1" orgLabel="Institucija 1" orgTooltip="Institucija 1" grp="2" value1="10" value2="20" value3="" isval="1" edit="1" />
    <item orgId="ins2" orgLabel="Institucija 2" orgTooltip="Institucija 2" grp="3" value1="15" value2="25" value3="" isval="1" edit="1" />
  </dataItems>

</data>

Ответы:


1

В вашей проблеме две составляющие:

  • 1) Разбор XML и генерация XML и
  • 2) формирование XLSX из проанализированных данных XML.

Вы правы во второй части использования Apache POI. Для первой части вам понадобится синтаксический анализатор XML, и вы должны подключить его перед передачей данных в программу генерации XLSX — попробуйте проверить JAXB или пример простого анализатора http://www.java-samples.com/showtutorial.php?tutorialid=152. Опубликуйте любые конкретные вопросы. Может помочь образец XML того, что вы пытаетесь проанализировать.

16.03.2012
  • Эй, спасибо за быстрый ответ. Я отредактировал свой пост с моим примером XML, как вы просили. Мне нужно, чтобы это было в формате xlsx, как я указал в вопросе. Я просматриваю ссылки, которые вы предложили сейчас, и я буду следовать руководству по синтаксическому анализатору XML. 16.03.2012
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..