鱼C论坛

 找回密码
 立即注册
查看: 2915|回复: 5

[已解决]python3使用xlwings模块如何冻结excel窗口?

[复制链接]
发表于 2021-10-9 14:24:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
使用xlwings模块操作Excel,在一个工作簿中添加了多个sheet表,如何指定其中一个sheet,冻结其前几行和前几列(如:前2行和前3列)呢?
最佳答案
2021-10-13 12:19:04
本帖最后由 suchocolate 于 2021-10-13 13:36 编辑
一身腱子肉 发表于 2021-10-13 10:03
网上只能搜到这个,但是不知道能冻结哪个sheet,想弄明白其中参数设置


试试:
  1. import xlwings as xw

  2. wb = xw.Book('test3.xlsx')
  3. wb.sheets['Sheet2'].select()
  4. wb.sheets['Sheet2'].range('b2').select()
  5. wa = wb.app.api.ActiveWindow
  6. wa.FreezePanes = True
  7. wb.save()
  8. wb.close()
复制代码


另外我看这个工具也是调用excel vba的api,那不如直接用excel vba就行了。
  1. Sub test()

  2.     Sheets("Sheet2").Select
  3.     Range("B2").Select
  4.     ActiveWindow.FreezePanes = True
  5. End Sub
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-10-9 14:30:37 | 显示全部楼层
没用过,网上搜的。
https://zhuanlan.zhihu.com/p/346880283
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-13 10:03:04 | 显示全部楼层
suchocolate 发表于 2021-10-9 14:30
没用过,网上搜的。
https://zhuanlan.zhihu.com/p/346880283

网上只能搜到这个,但是不知道能冻结哪个sheet,想弄明白其中参数设置
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-13 12:19:04 | 显示全部楼层    本楼为最佳答案   
本帖最后由 suchocolate 于 2021-10-13 13:36 编辑
一身腱子肉 发表于 2021-10-13 10:03
网上只能搜到这个,但是不知道能冻结哪个sheet,想弄明白其中参数设置


试试:
  1. import xlwings as xw

  2. wb = xw.Book('test3.xlsx')
  3. wb.sheets['Sheet2'].select()
  4. wb.sheets['Sheet2'].range('b2').select()
  5. wa = wb.app.api.ActiveWindow
  6. wa.FreezePanes = True
  7. wb.save()
  8. wb.close()
复制代码


另外我看这个工具也是调用excel vba的api,那不如直接用excel vba就行了。
  1. Sub test()

  2.     Sheets("Sheet2").Select
  3.     Range("B2").Select
  4.     ActiveWindow.FreezePanes = True
  5. End Sub
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-13 15:47:33 | 显示全部楼层

可以诶!感谢大兄弟!就是通过vba的api实现的,原来select也是一种操作,我一直把它忽略了~~~
另外,我刚刚试了一下,跨表选中单元格会报错,必须先选中sheet,再选中其单元格
(这句不能省:wb.sheets['Sheet2'].select())
xlwings的一个优势就是能结合vba对excel进行操作,
但是有时候我录制宏之后,不知道在python里怎么写,是否区分大小写或者参数设置这些不太明白
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-13 17:10:19 | 显示全部楼层
一身腱子肉 发表于 2021-10-13 15:47
可以诶!感谢大兄弟!就是通过vba的api实现的,原来select也是一种操作,我一直把它忽略了~~~
另外,我 ...

我看xlwings也提供python调用vba的操作,如果可以,我觉得可以把在python里操作麻烦的放到vba里,让python专门处理数据
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-17 13:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表