У меня есть строка с трубкой и двойная прямая косая черта, которую мне нужно форматировать в файле excel, как вывод в java

Я получаю данные как строку в java при чтении подобных тегов из файла XML. и что данные разделяются на каналы (|) и разделяются на две части (см. Разделите три строки в доступном теге, которые нужно преобразовать в формате excel, поскольку вкладка разделена.

Information - Desktop | Telecom//Apple Mac//iPhone//Working with iPhone Infrastructure - Desktop | Telecommunication//Apple iPod//iPad Information - Desktop | Telecom//Apple Mac//iTunes 10//Settings//Troubleshooting 

ВЫХОДНОЙ ФОРМАТ

Пожалуйста, предложите мне, как я могу достичь петли, чтобы получить ее, как этот.

Я сделал что-то вроде этого. Я могу выводить данные в формате CSV, возможно, вы хотите использовать API для записи в файл Excel.

 public class StringToExcelProblem { static String INPUT_DATA = "Information - Desktop | Telecom//Apple Mac//iPhone//Working with iPhone\n" + "Infrastructure - Desktop | Telecommunication//Apple iPod//iPad\n" + "Information - Desktop | Telecom//Apple Mac//iTunes 10//Settings//Troubleshooting\n"; public static void main(String[] args) { StringTokenizer st = new StringTokenizer(INPUT_DATA, "\n"); List<Block> allBlocks = new ArrayList<>(); while(st.hasMoreTokens()) { String blockData = st.nextToken(); String[] st2 = blockData.split(" \\| "); String parent = st2[0]; String labels = st2[1]; StringTokenizer st3 = new StringTokenizer(labels, "//"); int index = 0; Block block = null; while(st3.hasMoreTokens()) { String label = st3.nextToken(); if(index == 0){ block = new Block(parent, label); index ++; } else { block.add(label); } parent = label; } allBlocks.add(block); } for(Block b: allBlocks) { for(RowObj r: b.rows){ System.out.println(r); } System.out.println(); } } } class RowObj { String label; String value; String parentId; String active; String parentTable; @Override public String toString() { return label + "," + value + "," + parentId + "," + active + "," + parentTable; } } class Block { List<RowObj> rows; public Block(String parent, String name) { RowObj row = new RowObj(); row.label = name; row.value = name.toLowerCase(); row.parentId = "Knowledge Base: " + parent; row.active = "TRUE"; row.parentTable = "k_knowledge_base"; rows = new ArrayList<>(); rows.add(row); } public void add(String name) { RowObj parent = rows.get(rows.size()-1); RowObj row = new RowObj(); row.label = name; row.value = name.toLowerCase(); row.parentId = "Knowledge Category: " + parent.label; row.active = "TRUE"; row.parentTable = "k_category"; rows.add(row); } @Override public String toString() { return rows.toString(); } } 

Я могу сгенерировать следующий вывод. Это то же самое, что и у вас на скриншоте. Разница только в том, что это в формате CSV. Вам нужно только форматировать его, как вам нужно.

 Telecom,telecom,Knowledge Base: Information - Desktop,TRUE,k_knowledge_base Apple Mac,apple mac,Knowledge Category: Telecom,TRUE,k_category iPhone,iphone,Knowledge Category: Apple Mac,TRUE,k_category Working with iPhone,working with iphone,Knowledge Category: iPhone,TRUE,k_category Telecommunication,telecommunication,Knowledge Base: Infrastructure - Desktop,TRUE,k_knowledge_base Apple iPod,apple ipod,Knowledge Category: Telecommunication,TRUE,k_category iPad,ipad,Knowledge Category: Apple iPod,TRUE,k_category Telecom,telecom,Knowledge Base: Information - Desktop,TRUE,k_knowledge_base Apple Mac,apple mac,Knowledge Category: Telecom,TRUE,k_category iTunes 10,itunes 10,Knowledge Category: Apple Mac,TRUE,k_category Settings,settings,Knowledge Category: iTunes 10,TRUE,k_category Troubleshooting,troubleshooting,Knowledge Category: Settings,TRUE,k_category 

Надеюсь это поможет!

Возьмите эти три итерационных шага, чтобы импортировать ваши многораздельные, нестандартные XML-данные в MS Excel.


ШАГ 1: ИМПОРТНЫЕ ДАННЫЕ
Открыть Excel → Выбрать ячейку B2 → Лента DataFrom Text значка ( Get External Data группу Get External Data ) → Выбрать .\yourFile.xml → Выбрать в окне «Мастер импорта текста» → Выбрать next → Выбрать только other → Тип | (для вашего разделителя) → Hit finish → Hit ok


ШАГ 2: ОГРАНИЧЕНИЕ ЭКСПОРТА
Выделите все содержимое в column C → Выбор Copy → Открыть Notepad (notepad.exe) → Paste содержимое → Save блокнот .\yourFile2.xml


ШАГ 3: ВОССТАНОВЛЕНИЕ ИМПОРТА
Activate Excel → Выбрать Column CDelete столбец C → Выбрать cell C2 → Лента DataFrom Text значка ( Get External Data группу Get External Data ) → Выбрать .\yourFile.xml → Выбрать в окне «Мастер импорта текста» → Нажмите next → Выбрать только other → Тип / (для вашего разделителя) → Выберите «рассматривать последовательные разделители как один» → «Покончить» → «Хит».


После выполнения этих трех шагов вы должны будете разделить ваши XML-данные так, как вы описали выше (с использованием встроенной функции MS Excel).

Дайте знать, если у вас появятся вопросы.

  • как передать DomDocument в & из функций в vba
  • Лучший способ создания XML для наследования xml-узла от excel
  • Excel 2013 Invalidate Ribbon control не работает
  • Есть ли способ в Excel 2013 указать ключ или комбинацию клавиш (A keytip!) Для использования в сочетании с «Alt», чтобы выбрать вкладку ленты в excel?
  • Ошибка MS excel при генерации xls с xslt
  • Повреждение файлов OpenTBS / PHP / Excel - имя атрибута не может появляться более одного раза в одном и том же начальном теге или теге элемента empty
  • Преобразовать файл .xls в xml с помощью php
  • перетащите один лист excel в несколько xml-содержимого в муле
  • excel: Не удается сохранить или экспортировать XML-данные. Карта xml в этой книге не экспортируется
  • XSD для Excel в XML
  • Java: StringWriter с содержимым XML в файл Excel
  • Interesting Posts

    Метод autoSizeColumn () для XSSFSheet POI не работает для японских символов

    Я хочу экспортировать Excel из базы данных mysql. Я хочу, чтобы имя столбца от пользователей с помощью флажка

    Офисная надстройка: широкое изображение на ленте excel

    DAX IF Содержит формулу

    Реализация катенариев и связанных кривых

    Excel Macro изменит формат ячеек на валюту

    Как я могу динамически заполнять поле со списком Excel с содержимым указанной таблицы на другом листе?

    Экспортировать файл в формате csv программно с помощью microsoft excel

    Как избежать стирания цвета сетки (по умолчанию светло-серый) листа excel после изменения фона ячейки на C #, ASP.NET?

    График Excel 2007 не обновляется при программном изменении пограничных линий

    ссылка на ODC в excel с C #

    формулу, чтобы увидеть, повторяется ли фамилия в ячейке и выводит упрощенную строку

    Добавление новой ячейки автозаполнения и возврат значения ячейки в пользовательскую форму VBA Excel

    разделите лист excel для всех ночей, используя python

    Как указать прокси-сервер Excel по умолчанию при потоковой передаче Excel через VCS

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