最近在学习 xlwings,参考学习的网址:https://www.jianshu.com/p/b534e0d465f7 写得很棒,学到了很多。
在新建sheet表单, 发现一个问题。
import xlwings as xw
def creat_sheet(path, sheet=None, before=None):
'''
:param path: excel file path
:param sheet: the name of which creating the sheet, could be None or the name of sheet
:param before: the sheet before which the new sheet is added, could be int or the existing sheet name
:return:
'''
try:
wb = xw.Book(path)
if isinstance(before, int):
before = before + 1
sheet_obj = xw.sheets.add(name=sheet, before=before) # 这一行 !!!
wb.save()
return sheet_obj.name
except Exception as e:
raise e
上面的代码 在office excel里可以运行成功, 但是在wps excel里就会报错。
仔细查看了第一行的网址教程,发现没有什么问题。
在一个旁观者的惊讶声中,发现了原因! (果然旁观者清)
应该是 sheet_obj = wb.sheets.add(name=sheet, before=before) # 这一行 !!!
修改之后, Office和Wps 的excel 都可以运行成功。
我不知道原先的代码 为什么可以在office excel里运行成功。。。 office 和 wps 的底层处理不一样么??? (不懂呀~)
欢迎交流。