diff --git a/src/caosadvancedtools/table_json_conversion/fill_xlsx.py b/src/caosadvancedtools/table_json_conversion/fill_xlsx.py index 62aa922a7f6fd863d6bb766ebb25ac5800dc7658..4cf5977336656916e2f6d06e374913ab366bffd2 100644 --- a/src/caosadvancedtools/table_json_conversion/fill_xlsx.py +++ b/src/caosadvancedtools/table_json_conversion/fill_xlsx.py @@ -187,6 +187,14 @@ class TemplateFiller: for name, value in data.items(): if not isinstance(value, (dict, list)): self[name] = value + elif isinstance(value, dict): + if isinstance(list(value.items())[0], list): + continue + old_path = self._current_path + new_path = self._current_path.copy() + [name] + self._current_path = new_path + self.fill_from_data(data=value) + self._current_path = old_path def _create_index(self): """Create a sheet index for the workbook. diff --git a/unittests/table_json_conversion/data/indirect_data.xlsx b/unittests/table_json_conversion/data/indirect_data.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..894ec95f87aa32a618b3b70504727398f2ce2358 Binary files /dev/null and b/unittests/table_json_conversion/data/indirect_data.xlsx differ diff --git a/unittests/table_json_conversion/test_fill_xlsx.py b/unittests/table_json_conversion/test_fill_xlsx.py index 4af73e4d2125d05c4379bd88c618ae27545d5221..9d981360f6535d1bf2716ede8a3f485a175969da 100644 --- a/unittests/table_json_conversion/test_fill_xlsx.py +++ b/unittests/table_json_conversion/test_fill_xlsx.py @@ -80,7 +80,7 @@ def test_fill_xlsx(): schema=rfp("data/multiple_refs_schema.json")) fill_and_compare(json_file=rfp("data/indirect_data.json"), template_file=rfp("data/indirect_template.xlsx"), - known_good=rfp("data/multiple_refs_data.xlsx"), + known_good=rfp("data/indirect_data.xlsx"), schema=rfp("data/indirect_schema.json"))