Mac环境下如何用xlwings Python删除Excel工作表所有批注?
在Mac上使用xlwings删除Excel工作表所有批注的方法
Windows平台的ws2.used_range.api.ClearComments()方法在Mac上无法生效,原因是Mac版Excel的对象模型不支持该API。你可以通过遍历工作表所有批注并逐个删除的方式实现需求,这是跨平台兼容的方案:
import xlwings as xw # 打开目标工作簿(替换为你的文件路径) wb = xw.Book("example.xlsx") # 选中目标工作表(替换为你的工作表名称) ws = wb.sheets["Sheet1"] # 遍历所有批注并删除 for comment in ws.api.Comments: comment.Delete() # 保存修改并关闭工作簿 wb.save() wb.close()
说明
ws.api.Comments会返回当前工作表的所有批注集合,不管批注在哪个单元格,都能被遍历到- 即使工作表没有批注,这段代码也不会报错(空集合遍历不会执行循环体)
- 该方法同时兼容Windows和Mac平台的xlwings
内容的提问来源于stack exchange,提问作者Rapid1898
相关产品推荐
相关产品推荐

