楼主: 1244690926
6588 14

PYTHON 如何关闭指定的某个EXCEL文件 [推广有奖]

  • 0关注
  • 0粉丝

博士生

22%

还不是VIP/贵宾

-

威望
0
论坛币
231 个
通用积分
80.7137
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
27845 点
帖子
57
精华
0
在线时间
404 小时
注册时间
2012-11-24
最后登录
2024-11-15

楼主
1244690926 发表于 2021-4-6 16:20:29 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
PYTHON 如何关闭指定的某个EXCEL文件,比如文件名称为 “名单.xls”,是之前打开的,一直没关闭,现在用python指定关闭 “名单.xls”,而不是结束调整个EXCEL进程,有办法解决吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python EXCEL xcel exce cel

沙发
wz151400 在职认证  发表于 2021-4-7 16:19:51
已有 1 人评分论坛币 学术水平 热心指数 收起 理由
煮酒问剑 + 10 + 2 + 2 精彩帖子

总评分: 论坛币 + 10  学术水平 + 2  热心指数 + 2   查看全部评分

藤椅
Ipub 在职认证  发表于 2021-4-8 16:09:59
python关闭指定的excel的方法:

1、使用“import”命令导入xlwt模块import xlwt

2、用该模块的Workbook对象的save()方法可以保存并关闭指定的excelworkbook.save('excel名.xls')

完整代码如下:col = ["房型", "早餐", "会员专享价", "房态", "操作"]

workbook = xlwt.Workbook(encoding="utf-8")

worksheet = workbook.add_sheet('sheet2', cell_overwrite_ok=True)

for c in col:

#将列表名称导入表格

worksheet.write(0, d, c)

d += 1

workbook.save('sheet2.xls')
————————————————
本文为CSDN博主「藍色珊瑚礁」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

板凳
zwy_0309 在职认证  发表于 2021-4-8 16:23:41
用python打开Excel有多种方式,你是用的哪种方式打开的?

报纸
zwy_0309 在职认证  发表于 2021-4-8 16:27:53
如果使用win32com.client 打开的文件,如:
        # 打开EXCEL模板
        excel = win32com.client.DispatchEx('Excel.Application')
        excel.Visible = True     # 这样可以看到文件被打开
        # 打开一个文件,即工作表
        my_book = excel.Workbooks.Open('名单.xls', ReadOnly=False)
则使用以下语句关闭文件:
     my_book.Save()  # 保存文件
     my_book.Close()  # 关闭文件
     excel.Quit()    # 最后关闭模板
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
东方祥 + 5 + 3 + 4 + 4 精彩帖子
煮酒问剑 + 10 + 3 + 2 精彩帖子

总评分: 论坛币 + 15  学术水平 + 6  热心指数 + 6  信用等级 + 4   查看全部评分

地板
1244690926 发表于 2021-4-10 14:11:25
zwy_0309 发表于 2021-4-8 16:23
用python打开Excel有多种方式,你是用的哪种方式打开的?
手动打开的

7
长线小白龙 在职认证  企业认证  发表于 2021-4-11 20:14:46
我感觉她没说清楚她的问题
她的问题是,她已经手动在EXCEL里打开一个XLS文件了
现在想用Python关闭EXCEL打开的这个XLS文件,同时不关闭EXCEL进程。
也就是EXCEL如果打开了其他XLS文件,继续保持打开状态。

她并不是在Python程序里打开了XLS文件。

8
1244690926 发表于 2021-4-12 14:12:10
长线小白龙 发表于 2021-4-11 20:14
我感觉她没说清楚她的问题
她的问题是,她已经手动在EXCEL里打开一个XLS文件了
现在想用Python关闭EXCEL ...
是的

9
长线小白龙 在职认证  企业认证  发表于 2021-4-12 19:28:44
这个比较难啊,需要用Python操作系统里的进程。。。

10
1244690926 发表于 2021-12-29 16:32:37
长线小白龙 发表于 2021-4-12 19:28
这个比较难啊,需要用Python操作系统里的进程。。。
from win32com.client import Dispatch

def close_excel_file(file = 'output.xlsx'):
    xlApp = Dispatch('Excel.Application')
    xlApp.DisplayAlerts = False  # 设置不显示警告和消息框
    #xlBook = xlApp.Workbooks.Open(file)
    workbooks_n = xlApp.Workbooks.Count
    print(f'已打开工作簿的数量为:{workbooks_n}个')

    if workbooks_n < 0:return
        
    for i in range(1, workbooks_n + 1):# 工作簿索引从1开始
        path_ = xlApp.Workbooks(i).Path
        name_ = xlApp.Workbooks(i).Name
        path = path_+ "\\backup_" + name_
        # print(f'第{i}个excel的文件路径为:{path}')
        if(file in path):
            xlApp.Workbooks(i).Close() #关闭当前打开的文件,不保存文件
            # xlApp.Workbooks(i).Activate()
            # xlApp.Workbooks(i).SaveAs(path)
            # xlApp.Workbooks(path).Close()

    # xlApp.Quit()  #关闭所有打开的excel文件
    del xlApp


这种方法可以解决掉已手动打开的excel

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-6 16:15