导入的库

import xlwings as xw
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

新建或打开Excel

#创建一个excel并保存
wb = xw.Book()
sht=wb.sheets['Sheet1']
wb.save(r'D:\test1.xlsx')#也可以直接打开已有的Excel
wb = xw.Book(r'D:\test1.xlsx')#方法2:
app=xw.App(visible=True,add_book=False)
app.display_alerts=False  #不显示Excel消息框
app.screen_updateing=False #关闭屏幕更新,可加快宏的执行速度
wb=app.books.open(r'D:\test.xlsx')
print(wb.fullname) #输出Excel绝对路径D:\test.xlsx#最后关闭工作簿
wb.close()
app.quit()  # 退出excel程序,
# app.kill() 通过杀掉进程强制Excel app退出

Excel单元格操作

#单元格赋值
sht.range('A1').value='2'
sht.range('C3').api.NumberFormat = "0.00"     # 设置单元格的数字格式。此时A1显示2.00
#二维数组赋值
sht.range('A1').value=[['a','b','c'],[1,2,3]]#sht.range('A1:B3').value将以一维数组的方式显示值
#用二维数组显示列值
sht.range('A1:B3').options(ndim=2).value#显示整个table,可用以下两种方法
rng1 = sht.range('A1').expand('table').value
rng2 =sht.range('A1').options(expand='table').value#清空从A1开始扩展出的table值
sht.range('A1').expand('table').clear()#numpy数组的方式赋值
sht.range('A1').value = np.eye(3) #3*3单位矩阵
sht.range('A1').options(np.array, expand='table').value#dataframe赋值
df=pd.DataFrame([[1,2],[3,4]],columns=['A','B'])
#取消index和columns
sht.range('A9').options(index=False,header=False).value=df#插入pyplot绘制的图表
fig=plt.figure()
plt.plot([1,2,3])
sht.pictures.add(fig,name='MyPlot',update=True,left=sht.range('D1').left,top=sht.range('D1').top)
#update=True可以在Excel上调整大小并定位图:后续调用同名的pictures.add()('MyPlot')会更新图片而不改变它的位置或大小。#设置所获取日期的单元格值的格式
my_date_handler = lambda year, month, day, **kwargs: "%04i-%02i-%02i" % (year, month, day)
sht.range('A1').options(dates=my_date_handler).value  #单元格值为2021/4/9,得到值为'2021-04-09'#获取整个sheet的行列
nrow1=sht.api.UsedRange.Rows.count
ncol1=sht.api.UsedRange.Columns.count#获取指定区域的最后一行和最后一列
rng=sht.range('A9').expand()
nrow2=rng.last_cell.row
ncol2=rng.last_cell.column#获取单元格行列
print(sht.range('B3').row)  #3
print(sht.range('B3').column)   #2#清除工作表的所有内容(除图片)但保留原有格式
sht.clear_contents()

单元格格式操作

sht.range('A1').row_height=30  #设置单元格高度
sht.range('A1').column_width=25  #设置单元格宽度sht.range('A1').color=(250,210,38) #设置单元格颜色
sht.range('A1').color=None #清除颜色 sht.range('D2').formula='=sum(A2,B2)'#使用公式
print(sht.range('D2').formula_array) #获取单元格公式#设置单元格字体、字号、粗体、字体颜色
sht.range('B2').value = '销售数据报表'
sht.range('B2').api.Font.name='黑体'
sht.range('B2').api.Font.Size=48
sht.range('B2').api.Font.Bold=True
sht.range('B2').api.Font.Color=0X0000FF #修改字体颜色为红色
sht.range('B2').column_width = 60"""设置单元格的对齐方式"""
sht.range('B2').api.HorizontalAlignment = -4108    # -4108 水平居中。 -4131 靠左,-4152 靠右。
sht.range('B2').api.VerticalAlignment = -4130      # -4108 垂直居中(默认)。 -4160 靠上,-4107 靠下, -4130 自动换行对齐。"""设置单元格的外边框"""
#设置单元格底部框Borders(9),LineStyle=1为直线,Weight=2边框粗细
sht.range('B2').api.Borders(9).LineStyle=1
sht.range('B2').api.Borders(9).Weight=2
#Borders(7)左边框,虚线
sht.range('B2').api.Borders(7).LineStyle=2
sht.range('B2').api.Borders(7).Weight=2
#Borders(8)顶部框,双点划线
sht.range('B2').api.Borders(8).LineStyle=5
sht.range('B2').api.Borders(8).Weight=2
#Borders(10)右边框,点划线
sht.range('B2').api.Borders(10).LineStyle=4
sht.range('B2').api.Borders(10).Weight=2#单元格内Borders(5)从左上角到右下角斜线
sht.range('A2').api.Borders(5).LineStyle=1
sht.range('A2').api.Borders(5).Weight=2
#单元格内Borders(6)从左下角到右上角斜线
sht.range('C2').api.Borders(6).LineStyle=1
sht.range('C2').api.Borders(6).Weight=2"""设置单元格区域的内边框"""
#Borders(11)区域内部垂直边线
sht.range('A3:C5').api.Borders(11).LineStyle=1
sht.range('A3:C5').api.Borders(11).Weight=2
#Borders(12)区域内部水平边线
sht.range('A3:C5').api.Borders(12).LineStyle=1
sht.range('A3:C5').api.Borders(12).Weight=2# 合并单元格 B3 到 C3,注意excel不能最小化,否则会报错
sht.range('B3:C3').api.merge()
sht.range('B3:C3').api.unmerge()    # 拆分单元格

xlwings处理Excel笔记相关推荐

  1. excel python插件_利用 Python 插件 xlwings 读写 Excel

    Python 通过 xlwings 读取 Excel 数据 去年底公司让我做设备管理,多次委婉拒绝,最终还是做了.其实我比较喜欢技术.做管理后发现现场没有停机率统计,而原始数据有,每次要自己在Exce ...

  2. python xlwings 切片_Python xlwings库学习笔记(1)

    Python xlwings库学习笔记(1) Python是最近几年很火的编程语言,被办公自动化的宣传吸引入坑,办公自动化必然绕不开Excel的操作,能操作Excel的库有很多,例如: xlrd xl ...

  3. python xlwings追加数据_大数据分析Python库xlwings提升Excel工作效率教程

    原标题:大数据分析Python库xlwings提升Excel工作效率教程 Excel在当今的企业中非常非常普遍.在AAA教育,我们通常建议出于很多原因使用代码,并且我们的许多数据科学课程旨在教授数据分 ...

  4. 利用 Python 插件 xlwings 读写 Excel

    Python 通过 xlwings 读取 Excel 数据 去年底公司让我做设备管理,多次委婉拒绝,最终还是做了.其实我比较喜欢技术.做管理后发现现场没有停机率统计,而原始数据有,每次要自己在Exce ...

  5. python删除excel某行的格式_Python+Xlwings 删除Excel的行和列

    这篇文章主要介绍了Python+Xlwings 删除Excel的行和列的方法,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下 一.需求: 某公司管理的多个资管计划每天生成A表,业务人员需 ...

  6. 使用python和xlwings合并excel文件

    使用python和xlwings合并excel文件 20年前读书时间考了一个C语言二级,许多年都没有使用过,现在工作上遇到一个合并汇总excel文件问题,找了一个新版pyhon,网络百度,自学2周,编 ...

  7. xlwings读取excel数据

    针对如下的运行错误提示,df=pd.read_excel改为用xlwings读取excel文件后,不再报错. CompDocError: Workbook corruption: seen[2] == ...

  8. python 用 xlwings 处理 Excel 中的重复数据

    xlwings 简介 xlwings 是一个 Python 库.简化了 Python 和 Excel 通信. xlwings - 让Excel跑得飞快! 本文写作背景 & 需求 & 方 ...

  9. 【案例】【目标成本编制】利用docx-mailmerge与xlwings实现excel与word自动化办公,节省重复编制文件的时间

    有时候,你也挺可爱的. docx-mailmerge:案例 | 手册 xlwings:官网 | 手册 0.Something useless 0.1 解题思路 本方案利用了word自带的邮件合并功能中 ...

最新文章

  1. GitHub无法显示图片问题解决
  2. 实战:使用 OpenCV 的自动驾驶汽车车道检测(附代码)
  3. python3读取excel数据-python3读取Excel数据
  4. 一步一步教你实现简单的自定义错误跟踪
  5. java 中普通类继承,抽象类继承,接口类继承,子类一定要重写父类中的方法吗
  6. pccad自定义图框_(PCCAD自定义标题栏详细方法.doc
  7. windows获取IP和MAC地址【Qt】
  8. 227 Puzzle
  9. Since WWDC released the first developer
  10. python3.6安装pip3_python3.6如何安装pip
  11. NHibernate剖析:Mapping篇之Mapping-By-Code(2):运用ModelMapper
  12. redis监控工具_企业级别Redis监控,细化到每个项目实例
  13. Zotero-无法打开zotero数据库
  14. js实现前端数据分页
  15. 班门弄斧之机械设计理论
  16. 摄影测量后方交会算法C#实现
  17. 小编亲测:开售即遭“疯抢”的小度在家凭什么成了网红?
  18. Docker启动报错:Job for docker.service failed because the control process exited with error code. See “sy
  19. js pdf文件 如何调用打印机打印_可以使用Javascript打开PDF文件的打印对话框吗?...
  20. ISPRS_Potsdam,Vaihingen数据下载地址

热门文章

  1. 《梦幻花园》之后Playrix新消除手游是《梦幻动物园》,你玩么?
  2. 苹果隐藏应用_iOS14系统如何隐藏桌面主界面?
  3. php word权限,快速解决PHP调用Word组件DCOM权限的问题
  4. CST,CET,UTC,GMT,DST,Unix时间戳几种常见时间概述与关系
  5. 超级电脑系统安装 无光驱 USB启动
  6. vscode html注释快捷键_VSCode常用的10款插件
  7. 优化之SpringBoot 内置tomcat 调优测试
  8. 前端实现可绘制的canvas画布_HTML5 如何创建Canvas画布
  9. deepstream python
  10. minigui 3.2.0:对mgncs剪裁遇到的问题error: The pkg-config script could not be found or is too old.