Link Search Menu Expand Document

Data types

Для типов данных Excel может быть критична, так как большинство формул зависит от типа ячейки. В атрибутах ZCL_XTT_REPLACE_BLOCK вы можете найти следующие объявления.

Базовые типы данных

ТипОписание
integerЦелое (int4, int8, b, s)
doubleЧисло с плавающей точкой (p, f, decfloat16, decfloat34)
dateДата (d)
timeВремя (t)
stringСтрока (string)
datetimeВиртуальный тип (DATE + TIME)
booleanДля Excel (ИСТИНА или ЛОЖЬ)
maskИспользовать WRITE TO
as_isНе преобразовывать XML символы (может содержать специальные символы <>&’..)
imageО картинках подробнее тут
blockОб условных блоках подробнее тут

Первые 4 типа данных определяются автоматически. Но для boolean и datetime вам нужно явно указать тип.

Дополнение ;type=mask может использоваться для номеров материалов для удаления ведущих нулей, а также для вывода по маске СПП элементов.


Для разрывов строк можно использовать cl_abap_char_utilities=>cr_lf соотвествующий разделитель будет подставляться автоматически

КлассРазделитель страницРазделитель строк
ZCL_XTT_EXCEL_XLSX-cl_abap_char_utilities=>cr_lf
ZCL_XTT_EXCEL_XML-&#10;
ZCL_XTT_WORD_DOCX & ZCL_XTT_WORD_XML<w:br w:type=”page”/><w:br/>
ZCL_XTT_PDF<breakAfter targetType=”pageArea”/>cl_abap_char_utilities=>cr_lf
ZCL_XTT_HTML-<br/>

Также в этом классе можно найти несколько констант, которые определяют, какие данные вы передаете методу merge.

  • ‘struct’
  • ‘object’
  • ‘table’
  • ‘tree’

До этого мы передавали только структуры и таблицы в метод «merge». Но также мы можем передавать объекты (они работают точно так же, как структуры) и деревья.

Если в вашем шаблоне есть

  • Таблицы (ListObjects) и сводные таблицы основанные на таблицах
  • Объединенные ячейки
  • Именованные диапазоны
  • Формулы с предшествующим знаком доллара $

Они будут «растянуты» после вставки данных в класс ZCL_XTT_EXCEL_XLSX.

В классе ZCL_XTT_EXCEL_XML только формулы и объединенные ячейки будут успешно обработаны
Так как во внутреннем представлении данных используются относительные ссылки (в отличии от xlsx) никаких знаков $ вносить нет необходимости.