吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 475|回复: 11
收起左侧

[讨论] python xlwings笔记

[复制链接]
lihu5841314 发表于 2021-10-14 10:57
[Asm] 纯文本查看 复制代码
import  xlwings  as xw   #pip  install  xlwings
#创建应用==》工作簿==》工作表==>工作表==》范围==》保存
#创建应用
app = xw.App(add_book=False)
#1. visible可视化 表示xlwings操作excel的时候是否显示,默认是True
# 2.add_book表示xlwings操作excel的时候是否新增一个Excel文件,默认是true
#app.display_alerts = Flase  #关闭提示信息,可以加快运行速度 默认为Ture
#app.screen_updating = Ture  #更新显示工作表内容,默认为Ture  关闭可以提示运行速度

工作簿
#wb = app.books.add()
#新建工作簿。
# wb = app.books.open(r'file_path)
#打开现有的工作簿
# wb = app.books.active
#获取当前活动的工作簿
工作表
#sht = wb.sheets.active
#获取当前活动的工作表
#sht = wb.sheets[0]
#按索引获取工作表
# sht = wb.sheets ["sheet1']
#按表名获取工作表
# sht1 = wb.sheets.add()
#新建工作表,默认新建的放在最前面。
# sht1 = wb.sheets.add('新建工作表',after=sht) #新建工作表,放在sht工作表后面。
读取单元格
b3 = sht.range("b3") #获取b3中的值
v = b3.value
#也可以根据行列号读取
b3_value = sht.range(3,2).value#读取一段区间内的值
a1_c4_value = sht.range( 'a1: c4').options(ndim=2).value
#加上 option读取二维的数提
a1_c4_value = sht.range((1,1),(4,3)).options(ndim=2) .value#和上面读取的内容一样。
写入就是把值赋值给读取的单元格就可以了
sht.range(3,2).value = "b3"
设置单元格大小
sht.autofit() #自动调整单元格大小。
注:此方法是在单元格写入内容后,再使用,才有效。
#sht.range(1,4).column_width = 5#设置第4列列宽。(1,4)为第1行第4列的单元格sht.range(1,4).row_height = 20设置第1行行高

wb.sheets["Sheet1"].used_range.last_cell.row  #获取最大行号(已使用的单元格的)
wb.sheets["Sheet1"].cells(wb.sheets["Sheet1"].sht.cells.rows.count,1).end("up").row # 获取A列最后一个有内容的单元格同 VBA 的 Cells(Rows.Count, 1).End(xlUp).row
wb.sheets["Sheet1"].cells.Rows.Count  #获取最大行号
wb.sheets["Sheet1"].used_range.last_cell.column #获取最大列号(已使用的单元格的)
wb.sheets["Sheet1"].cells(1,wb.sheets["Sheet1"].cells.columns.count).end("left").column #获取第一行最后一个有内容的单元格同 VBA 的 Cells(1, Columns.Count).End(xlToLeft).Select
wb.sheets["Sheet1"].cells.columns.Count   #获取最大列号
wb.sheets["Sheet1"].used_range.last_cell #获取最后一个单元格
wb.sheets["Sheet1"].used_range.last_cell.address #获取最后一个单元格的地址
wb.sheets["Sheet1"].api.Rows.Count #调用api返回最大行号,可区分xls和xlsx
wb.sheets["Sheet1"].cells.api.WarpText=Flase #全部单元格取消自动换行
wb.sheets["Sheet1"].cells.autofit(axis=None) #  自动调整行高,列宽  axis指定行或列
wb.sheets["Sheet1"].cells(wb.sheets["Sheet1"].sht.cells.rows.count,1).end("up").select() # 获取A列最后一个有内容的单元格同 VBA 的 Cells(Rows.Count, 1).End(xlUp).Select
wb.sheets["Sheet1"].cells(1,wb.sheets["Sheet1"].cells.columns.count).end("left").select() #获取第一行最后一个有内容的单元格同 VBA 的 Cells(1, Columns.Count).End(xlToLeft).Select


rng =wb.sheets["Sheet1"].range("A10")
# 下面相当于在Excel中按快捷键
rng.end('up').select() # 相当于 ctrl + ↑
rng.end('down').select() # 相当于 ctrl+ ↓
rng.end('left').select() # 相当于 ctrl+ ←
rng.end('right').select() # 相当于 ctrl+ →


sht['B:B'].delete()# 删除列

sht[:, 1:2].delete()

sht['B2'].delete()# 删除单元格 (缺省默认右侧左移'left',下侧上移'up')

sht['C2:D4'].delete('up') # 删除区域

sht[1:4, 2:4].delete('up')

sht['2:2'].insert()# 插入行

sht['B:B'].insert()# 插入列

sht['B2'].insert()# 插入单元格 (缺省默认'down', 可选 'right')

sht['B2:C3'].insert() # 插入区域

# 或者调用api

sht.api.Rows(2).Delete() # 删除行

sht.api.Rows(1).Insert() # 插入行

sht.api.Rows('2:4').Insert()

sht.api.Columns(1).Delete() # 删除列

sht.api.Columns(1).Insert() # 插入列

sht.api.Columns('2:4').Insert()

sht['2:2'].delete()# 删除行

sht[1:2, :].delete() # 区域切片的方法

#保存
wb.save()

#关闭工作簿和应用
wb.close()
app.quit()

免费评分

参与人数 2吾爱币 +1 热心值 +2 收起 理由
Duke0910 + 1 谢谢@Thanks!
Zeaf + 1 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

huiker231 发表于 2021-10-14 20:03
能说一下作用吗?
我运行了一下,跑不起来
line 4, in <module>
    import xlwings  as xw  # pip  install  xlwings
ModuleNotFoundError: No module named 'xlwings'
 楼主| lihu5841314 发表于 2021-10-14 16:14
水鸟 发表于 2021-10-14 15:32
excel的库,只有这最全面好用,其他用了都后悔。

这个和excel  对接挺好
shubiao05 发表于 2021-10-14 12:15
这个学起来,对提高工作效率有莫大的帮助!
xiaoshan1818 发表于 2021-10-14 14:25
复制这个代码,就能产生一个笔记软件?这么神奇?
shubiao 发表于 2021-10-14 14:32
谢谢,分享
df2k 发表于 2021-10-14 15:00
很实用的资料,谢谢整理分享
水鸟 发表于 2021-10-14 15:32
excel的库,只有这最全面好用,其他用了都后悔。
 楼主| lihu5841314 发表于 2021-10-15 08:46
huiker231 发表于 2021-10-14 20:03
能说一下作用吗?
我运行了一下,跑不起来
line 4, in

你没有装库
info4 发表于 2021-10-15 19:55
怎么使用?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2021-10-28 09:29

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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