Разрешить пустые значения ячеек таблицы Excel в муле 4 - PullRequest
0 голосов
/ 14 января 2020

При чтении таблицы Excel мне нужно показать все значения столбцов, даже если они пустые.

Но мул не учитывает пустые ячейки, если в последней ячейке нет значения.

Мое требование заключается в том, что мне нужно отобразить все значения столбцов, даже если они пусты.

Скрипт Dateweave выглядит следующим образом:

%dw 2.0
var myInput = readUrl("classpath://Book1.xlsx", "application/xlsx")
output application/json
---
myInput.'Sheet1' map ($ mapObject {
    "$$" : $
})

Настройки прослушивателя HTTP:

<http:listener doc:name="Listener" doc:id="ed1c0abb-8f7a-4856-b305-d0a249a07c96" config-ref="HTTP_Listener_config" path="/test" outputMimeType="application/xlsx; tableoffset=A2; ignoreemptyline=false; header=true"/>

Изображение ниже может показать лучше:

enter image description here

1 Ответ

1 голос
/ 15 января 2020

Я постараюсь просто использовать файлы CSV, если это возможно. Если у вас нет выбора, попробуйте, остальная часть кода должна быть такой, как в вашем фрагменте:

var blank = myInput.'Sheet1' reduce (
    (e, acc=[]) -> acc ++ (e pluck $$)
) 
distinctBy $
reduce (
    (e, acc={}) -> acc ++ {(e): ""}
)
import mergeWith from dw::core::Objects
---
myInput.'Sheet1' map (
    blank mergeWith $
)

По какой-то причине я НЕ смог принести чтение и анализ xlsx (из-за ошибка), вероятно, в последней версии студии с тем, что я использовал, но приведенный выше фрагмент должен работать для вас. Надеюсь, это поможет.

...