读写加速关键
open()时会启动win环境自带的office-excel安装程序,一般都要耗时3s左右。app.screen_updating = False /True选项,配置是否实时刷新excel程序的显示内容
import xlwings as xw
app=xw.App(visible=False,add_book=False)#全部都是False
#下面可以加速,不必打开Excel程序
app.display_alerts=False #不显示Excel消息框
app.screen_updating=False #关闭屏幕更新
wb=app.books.open('xxx.xlsx')
wb.save()
wb.close()
app.quit() # 退出excel程序,
# app.kill() 杀掉进程强制Excel app退出
转 https://www.cnblogs.com/aziji/p/12923544.html
# -*- coding: UTF-8 -*-
import xlwings as xw
wb = xw.Book() # 创建一个临时表格
sht = wb.sheets["sheet1"] # 创建sheet页
sht.range("A1").value = 1 # 给指定单元格赋值
sht.range("A1:C3").api.font.size = 15 # 设置单元格字体大小
sht.range("A1:C3").api.font.name = "微软雅黑" # 设置字体
sht.range("A1").api.font.bold = True # 设置单元格字体是否加粗
sht.range("A1").api.font.color = 0x0000FF # 设置字体颜色
print(sht.range("A1").api.font.name) # 返回指定单元格中字体的名字,默认为 宋体
sht.range("A1:C3").api.Borders(9).LineStyle = 1 # 划底部边框
sht.range("A1:C3").api.Borders(9).Weight = 3
sht.range("A1:C3").api.Borders(10).LineStyle = 1 # 划右部边框
sht.range("A1:C3").api.Borders(10).Weight = 3
sht.range("A1:C3").api.Borders(11).LineStyle = 1 # 划内部竖线
sht.range("A1:C3").api.Borders(11).Weight = 2
sht.range("A1:C3").api.Borders(12).LineStyle = 1 # 划内部横线
sht.range("A1:C3").api.Borders(12).Weight = 2
sht.range("A1:C3").api.HorizontalAlignment = -4108 # -4108 水平居中。 -4131 靠左,-4152 靠右
sht.range("A1:C3").api.VerticalAlignment = -4108 # -4108 垂直居中(默认)。 -4160 靠上,-4107 靠下, -4130 自动换行对齐。
sht.range("B1").value = 2
sht.range("C1").formula = "=SUM(A1:B1)" # 引用公式
sht.range("A1").columns.autofit() # 自动根据单元格中内容调整单元格的宽度
sht.range("A1").color = [0, 0, 255] # 设置单元格颜色
print(sht.range("A1").value) # 返回单元格内容
print(sht.range("A1").color) # 返回单元格颜色值
print(sht.range("C1").formula_array) # 返回单元格中的引用公式
sht.range('A2').value = [['hello 1', 'hello 2', 'hello 3'], [1.0, 2.0, 3.0]] # 批量填写数据
print(sht.range("A2").expand().value) # 输出批量输入内容
sht.range("A4:C4").merge() # 进行单元格合并
print(sht.range("A4").merge_area) # 返回合并单元格的对象,如果不在范围之内则返回具体的单元格
print(sht.range("A4:C4").merge_cells) # 返回真假
sht.range("A4").unmerge() # 取消合并单元格