File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -36,6 +36,7 @@ def excel2dict_design(
3636 """
3737
3838 # Find sheets
39+ _assert_no_merged_cells (input_filename )
3940 xlsx = openpyxl .load_workbook (input_filename , read_only = True , keep_links = False )
4041 gen_input_sheet = find_sheet (gen_input_sheet , names = xlsx .sheetnames )
4142 design_input_sheet = find_sheet (design_input_sheet , names = xlsx .sheetnames )
@@ -684,3 +685,17 @@ def _raise_if_duplicates(container: Sequence[Hashable]) -> None:
684685 duplicates = {k : v for (k , v ) in Counter (container ).items () if v > 1 }
685686 if duplicates :
686687 raise ValueError (f"Duplicates with counts: { duplicates } " )
688+
689+
690+ def _assert_no_merged_cells (input_filename : str ) -> None :
691+ """Raises an exception if any merged cells exist, else returns None."""
692+
693+ workbook = openpyxl .load_workbook (input_filename )
694+ for sheet_name in workbook .sheetnames :
695+ worksheet = workbook [sheet_name ]
696+ merged_ranges = list (worksheet .merged_cells .ranges )
697+ if merged_ranges :
698+ raise Exception (
699+ f"Merged cells are not allowed. Found merged cell in { input_filename } at sheet '{ sheet_name } '.\n "
700+ f"Found { len (merged_ranges )} merged cell range(s): { merged_ranges } "
701+ )
You can’t perform that action at this time.
0 commit comments