You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python使用xlwings重命名未保存的活动Excel工作簿和工作表

问题解答

报错原因

fullname 是xlwings封装的只读属性,仅支持读取工作簿的完整存储路径,不能直接赋值修改,因此运行修改代码会抛出AttributeError: can't set attribute错误。

需求实现方案

该需求可以实现,工作表重命名不需要保存文件,工作簿重命名仅需要暂存到系统临时目录,不需要你手动指定永久存储路径,不会影响后续的自定义保存操作。
完整操作代码如下:

import xlwings as xw
import tempfile
import os
import pandas as pd

# 示例DataFrame,可替换为你自己的df
df = pd.DataFrame({"序号": [1,2,3], "内容": ["测试1", "测试2", "测试3"]})
# 打开DataFrame到Excel
xw.view(df)

# 获取当前激活的工作簿
active_wb = xw.books.active

# 1. 重命名工作表(无需保存即可生效)
# 这里修改的是第一个工作表的名称,可按需调整
active_wb.sheets[0].name = "业务数据表"

# 2. 重命名工作簿(仅暂存到系统临时目录,无需指定自定义路径)
target_workbook_name = "Report"
# 拼接临时文件完整路径
temp_file_path = os.path.join(tempfile.gettempdir(), f"{target_workbook_name}.xlsx")
# 保存到临时路径,工作簿名称自动更新为你设置的名称
active_wb.save(temp_file_path)

注意事项

  • 仅修改工作表名称的场景下,不需要执行第二步的暂存操作,直接修改sheet.name即可即时生效
  • 暂存到系统临时目录的文件会被系统自动清理,不会占用你自定义的存储空间,后续你可以正常在Excel界面执行「另存为」操作,把文件存到你想要的任意位置

内容的提问来源于stack exchange,提问作者stacksideways

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 21:54:04