Excel 取消数据分组

问题描述 投票:0回答:1

我正在尝试对 Excel 文件中的数据进行取消分组。
我不知道已分组的行号。
当我单击文件顶部的 2 时,数据会取消分组。
有没有办法使用 python 来完成它。
我有一组 400-500 个文件,其中的数据必须取消分组

我尝试使用 win32com 库

xl = win32com.client.Dispatch("Excel.Application")

#  password, act accordingly
 
#xl.Visible = True  # Optional: Hide Excel application window
wb = xl.Workbooks.Open(excel_file)
try:
    for sheet in wb.Worksheets:
        sheet_name = sheet.Name
        sheet.PageSetup.Zoom = False  # Disable zoom
        # visible_range = sheet.UsedRange.Visible
        # sheet.Find(What="*", ReplaceWith="", SearchOrder=xlPrevious, SearchDirection=xlEntireRow, MatchCase=False).Select()
        # sheet.Selection.Visible = visible_range  # Restore original visibility 
        # cells = sheet.getCells()
        # cells.ungroupRows(17,26)


  # Ungroup rows (if grouped)
        for outline in sheet.Outline:
          if outline.Type == 2:  # Check if it's an outline group
            outline.Ungroup()
python excel pywin32 win32com
1个回答
0
投票

如果您只想清除工作表上的所有分组,请选择范围并清除。

import win32com.client

xl = win32com.client.Dispatch("Excel.Application")

#  password, act accordingly
excel_file =r'<file path>/excelfile.xlsx'

# xl.Visible = True  # Optional: Hide Excel application window
wb = xl.Workbooks.Open(excel_file)

for sheet in wb.Worksheets:
    sheet_name = sheet.Name
    sheet.PageSetup.Zoom = False  # Disable zoom

    ### Select col/rows and clear grouping
    sheet.UsedRange.ClearOutline()

wb.SaveAs('<file path>/excelfile_out.xlsx')

© www.soinside.com 2019 - 2024. All rights reserved.