python xlwings api_2021-01-13python,xlwings,api运用,及一些问题
import xlwings as xw
import re
#啟動APP,visible:是否可見,addbook:是否新增工作簿
app=xw.App(visible=False,add_book=False)
#APP是否可見
app.display_alerts=False
#是否刷新APP屏幕
app.screen_updating=False
#文件路徑
filepath=r'C:\Users\**********.xls'
#打開文件
wb=app.books.open(filepath)
#打開活動工作表
sht=wb.sheets[0]
#刪除其他工作表
wb.sheets['sheet2','sheet3'].delete()
#獲取文件名稱
a = wb.name
#正則匹配
b = re.findall('([I]{1,2}\-\d{1,2}|\d{1,2})',a)
#檢查
print(b)
#循環(huán)查找定位
for row in range(170,210):
for col in range(1,10):
if sht.range(row,col).value == '吊弦編號與長度':
print ((row,col))
sht.range('A1:A'+str(row-1)).api.EntireRow.Delete() #整行刪除
#賦值單元格,可以是字符串或數(shù)字等
sht.range("A1").value = '桐城東'+str(b[0]) + '吊弦編號與長度'
#合并單元格,拆分單元格unmerge()
sht.range('A1:J1').merge()
sht.range('G2:H2').merge()
#返回有數(shù)據(jù)的最后一行
#print(sht.used_range.rows.count)
#垂直、水平居中,-4130,自動換行
sht.range('A1:J200').api.HorizontalAlignment = -4108
sht.range('A1:J200').api.VerticalAlignment = -4108
#改變行高
sht.range("A1").row_height = 30
sht.range("A2").row_height = 36
#改變列寬
sht.range('J5').column_width = 9.5
sht.range('a4:a200').row_height = 20
#改變字體大小
sht.range('A1').api.Font.Size = 20
#改變單元格顏色,RGB
sht.range('A1:J200').color = None
#print(sht.api.PageSetup.LeftHeader)
#改變頁眉頁腳
sht.api.PageSetup.LeftHeader = ' '
sht.api.PageSetup.LeftFooter = ' '
sht.api.PageSetup.CenterFooter = ' '
sht.api.PageSetup.RightFooter = ' '
#改變打印區(qū)域
sht.api.PageSetup.PrintArea = "$A$1:$J$200"
#設(shè)置打印頂部標(biāo)題
sht.api.PageSetup.PrintTitleRows = "$1:$3"
#設(shè)置字體是否加粗
sht.range("A1:J200").api.Font.Bold = False
#保存
wb.save()
#退出App,殺死進(jìn)程
app.kill()
#其他的可以利用EXCEL中的錄制宏來查看api代碼,或者查詢https://docs.microsoft.com/en-us/office/vba/api/excel.page
#其他xlwings代碼可自行上網(wǎng)查找
#當(dāng)程序出錯(cuò)時(shí),打開表格顯示只讀,可進(jìn)入任務(wù)管理器→詳細(xì)信息,自行刪除EXCEL進(jìn)程
總結(jié)
以上是生活随笔為你收集整理的python xlwings api_2021-01-13python,xlwings,api运用,及一些问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sd卡linux错误检测,android
- 下一篇: 济源一中2021高考成绩查询入口,济源一