Чтение текстов из файла Excel .xlsx (файл представлен как XSTRING) - PullRequest
0 голосов
/ 22 апреля 2020

Файл Excel (.xlsx) загружен во внешний интерфейс, который является UI5 Fiori.

Содержимое файла поступает в бэкэнд SAP ABAP через ODATA в формате XSTRING.

Мне нужно сохранить этот XSTRING во внутренней таблице, а затем в таблице DDI C. Например: предположим, что в Excel 5 столбцов, и я хочу сохранить эти данные 5 столбцов в соответствующих столбцах таблицы DDI C.

Я пробовал различные функциональные модули , например:

  • SCMS_XSTRING_TO_BINARY
  • SCMS_BINARY_TO_STRING

и следующих Классы и методы :

  • cl_bcs_convert => raw_to_string
  • cl_soap_xml_helper => xstring_to_string

, но никто не смог преобразовать XSTRING в STRING.

Можете ли вы предложить, какой функциональный модуль или класс / метод может быть используется для решения проблемы?

1 Ответ

2 голосов
/ 23 апреля 2020

Для большего удобства используйте abap2xlsx .

Если вы не можете или не хотите использовать это, вы также можете самостоятельно проанализировать файл Excel. Файлы .xlsx - это, в основном, файлы .zip с другим окончанием. Используйте cl_abap_zip->load, чтобы открыть xstring, который вы получите, и ->get, чтобы извлечь отдельные файлы из архива. Затем используйте синтаксические анализаторы XML, например cl_ixml или преобразования, для анализа содержимого файлов XML.

Обратите внимание, что XML в Excel представляет собой сложный формат файлов, в котором несколько файлов работают вместе для формирования рабочие листы. За подробностями обращайтесь к справочнику Microsoft о формате файлов для Word, Excel и PowerPoint . Интерпретировать это нетривиально, поэтому вы, как правило, будете намного счастливее с abap2xlsx.

...