使用win32com创建Excel新工作簿时如何默认生成3个工作表
解决方法
有三种可行的方案,你可以按需选择:
- 方案1:临时修改当前Excel实例的新建工作簿默认工作表数
这种方式只会影响当前代码启动的Excel进程,不会改动你本地Office的全局配置,适合只需要本次代码生效的场景,示例代码如下:
import win32com.client xl = win32com.client.gencache.EnsureDispatch("Excel.Application") # 设定当前实例新建工作簿默认包含3个工作表 xl.SheetsInNewWorkbook = 3 wb = xl.Workbooks.Add()
- 方案2:修改Office 365全局默认配置
如果希望后续所有新建工作簿(包括手动打开Excel新建、其他代码调用新建)都默认带3个工作表,可以直接修改全局设置:
- 手动打开任意Excel窗口,点击左上角「文件」>「选项」
- 在「常规」选项卡的「新建工作簿时」分类下,找到「包含的工作表数」,将数值改为3后保存即可
- 方案3:新建工作簿后补充工作表
如果不想改动任何默认配置,也可以在创建工作簿后动态补工作表到3个:
import win32com.client xl = win32com.client.gencache.EnsureDispatch("Excel.Application") wb = xl.Workbooks.Add() # 循环补充工作表直到总数为3,After参数指定新表插到现有最后一个工作表后面 while wb.Sheets.Count < 3: wb.Sheets.Add(After=wb.Sheets(wb.Sheets.Count))
内容的提问来源于stack exchange,提问作者Peter
相关产品推荐
相关产品推荐

