在 Excel 文件中创建 sheet 表

对于 Excel 文件的操作少不了创建新的 sheet 表,本来 RPA 设计器是有创建sheet表的组件的,似乎我发的帖子没啥用,请听我慢慢道来。
在 Excel 文件中创建 sheet 表

有一个需求是这样的,有 n 多个 Excel 文件(规则),根据他们对某一个 Excel 文件的一个 sheet 进行相关操作,生成的结果依次写到新建的 sheet 表中,需求做好后,客户很满意啊,然后客户问我,你新建的 sheet 表怎么是倒着的(最初的 sheet 表在最后,最近新建的 sheet 表在最前边)。
我的内心:因为艺赛旗设计器的工作表创建组件只能将 sheet 表放在某 sheet 表之前。
然后,我说:因为这样一打开就能看到最终结果,简单明了。
客户好像相信了,好吧,就这样吧。一世英名,差点儿毁于一旦。
在 Excel 文件中创建 sheet 表

一世英名,差点儿毁于一旦。所以下面的代码诞生了

import xlwings as xw


def creat_sheet(path, sheet=None, before=None, after=None):
    """
    Creates a new Sheet and makes it the active sheet.

    Parameters
    ----------
    path : str
        filename or fully qualified filename
    sheet : str, default None
        Name of the new sheet. If None, will default to Excel's default name.
    before : str or int, default None
        An object that specifies the sheet before which the new sheet is added.
    after : str or int, default None
        An object that specifies the sheet after which the new sheet is added.

    Returns
    -------
        new sheet name

    """
    try:
        wb = xw.Book(path)
        if before:
            if isinstance(before, int):
                before = before + 1
            Sheet = xw.sheets.add(name=sheet, before=before)
        else:
            if isinstance(after, int):
                after = after + 1
            Sheet = xw.sheets.add(name=sheet, after=after)
        wb.save()
        return Sheet.name
    except Exception as e:
        raise e