diff --git a/src/main.py b/src/main.py index 1214fbe..2d49f0d 100644 --- a/src/main.py +++ b/src/main.py @@ -118,6 +118,32 @@ def copy_excel_file(source_path, destination_path, passwords): dest_cell.protection = copy(cell.protection) dest_cell.alignment = copy(cell.alignment) + # Copy sheet properties + # Freeze panes + if source_sheet.freeze_panes: + dest_sheet.freeze_panes = source_sheet.freeze_panes + + # Column dimensions + for col in source_sheet.column_dimensions: + dest_sheet.column_dimensions[col] = copy(source_sheet.column_dimensions[col]) + + # Row dimensions + for row in source_sheet.row_dimensions: + dest_sheet.row_dimensions[row] = copy(source_sheet.row_dimensions[row]) + + # Sheet properties + if hasattr(source_sheet, 'sheet_properties'): + dest_sheet.sheet_properties = copy(source_sheet.sheet_properties) + + # Sheet view properties + if hasattr(source_sheet, 'sheet_view'): + dest_sheet.sheet_view = copy(source_sheet.sheet_view) + + # Merged cells + if source_sheet.merged_cells: + for merged_range in source_sheet.merged_cells: + dest_sheet.merge_cells(str(merged_range)) + os.makedirs(os.path.dirname(destination_path), exist_ok=True) logging.debug(f"Destination directory ensured: {os.path.dirname(destination_path)}")