在Excel文件中創建sheet表

對於Excel文件的操作少不了創建新的表單表,本來RPA設計器是有創建sheet表的組件的,似乎我發的帖子沒啥用,請聽我慢慢道來。

在Excel文件中創建sheet表

有一個需求是這樣的,有n個多個Excel文件(規則),根據他們對某一個Excel文件的一個工作表進行相關操作,生成的結果依次寫到新建的工作表中,需求做好後,客戶很滿意啊,然後客戶問我,你新建的sheet表怎麼是倒著的(最初的sheet表在最後,最近新建的sheet表在最前邊)。我的內心:因為藝賽旗設計器的工作表創建組件只能將sheet表放在某張sheet表之前。然後,我說:因為這樣一打開就能看到最終結果,簡單明瞭。客戶好像相信了,好吧,就這樣吧。一世英名,差點兒毀於一旦。

在Excel文件中創建sheet表

一世英名,差點兒毀於一旦。所以下面的代碼誕生了

<code>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/<code>


分享到:


相關文章: