Python xlwings模块使用教程

文章目录

  • 安装 xlwings 模块
  • Excel应用相关方法
  • 工作簿相关方法
  • 工作表相关方法
  • 单元格相关方法
    • 单元格对象获取方法
    • 单元格属性相关方法
    • 单元格样式相关方法
    • 插入/删除 行列相关方法

安装 xlwings 模块

pip install xlwings -i https://pypi.tuna.tsinghua.edu.cn/simple

Excel应用相关方法

  • app = xlwings.App(visible=True,add_book=False):` 运行excel应用,打开空白工作簿;参数visible表示处理过程是否可视,add_book表示是否打开新的工作簿

工作簿相关方法

  • wb = xlwings.Book( 'path' )打开已存在Excel文件
  • wb = app.books.add(): 新建工作簿。
  • wb = app.books('path') : 打开现有的工作簿
  • wb = app.books.open(r'file_path'): 打开现有的工作簿
  • wb = app.books.active: 获取当前活动的工作簿
  • wb.save( 'path' ): 保存工作簿;path参数可选,可配合add方法为新建Excel命名
  • wb.activate(steal_focus=True): steal_focus=True, 则把窗口显示到最上层,并且把焦点从Python切换到Excel
  • wb.close() : 关闭工作簿
  • wb.fullname:获取工作簿的绝度路径

工作表相关方法

  • ws = wb.sheets['SheetName']: 根据工作表名称获取工作表对象
  • ws = wb.sheets[0]: 根据工作表索引获取工作表对象
  • ws = wb.sheets.add('test',after='sheet2'): 新建工作表,参数1为工作表名称,参数2为插入位置,可选before或者after,示例中的代码表示插入到sheet2之后
  • ws.clear(): 清除工作表所有内容和格式
  • ws.clear_contents(): 清除工作表的所有内容但是保留原有格式
  • ws.delete(): 删除工作表

单元格相关方法

单元格对象获取方法

  • ws.range( 'B1' ): 获取单元格对象
  • ws[ B1 ]: 获取单元格对象
  • ws[1, 1]: 此方法通过行列获取单元格对象, 行列从 0 开始
  • ws.range( 1, 1 ): 此方法通过行列获取单元格对象, 行列从 1 开始
  • ws.range( 'A1:B2' ): 获取单元格对象
  • ws.range( (1,1), (2,2) ): 获取单元格对象
  • ws.range('a6').expand('table').value = [['a','b','c'],['d','e','f'],['g','h','i']]: 获取该单元格(含)右侧和下侧所有对象

单元格属性相关方法

  • ws.range('B1').value: 获取/设置 单元格 值
  • ws.range('a1:c4').options(ndim=2).value : option=2 ,可选参数,表示以二维列表形式返回数据
  • ws.range((1,1),(4,3)).options(ndim=2).value : 和上面读取的内容一样。
  • ws.range('A1').row_height: 获取单元格的行高
  • ws.range('A1').column_width: 获取单元格的列宽
  • ws.range('A1').row: 获取单元格的行号
  • ws.range('A1').column: 获取单元格的列号
  • ws.range('A1').clear(): 清除单元格内容和格式

单元格样式相关方法

  • ws.autofit(): 自动调整单元格大小。注:此方法是在单元格**写入内容后,**再使用,才有效。
  • ws.range(1,4).column_width = 5: 设置第4列 列宽。(1,4)为第1行第4列的单元格
  • ws.range(1,4).row_height = 20: 设置第1行 行高
  • ws.range('A1').color = (34,139,34): 设置/获取 单元格颜色,RGB值; ws.range('A1').color = None,清除单元格颜色
  • cell.api.Font.ColorIndex = 3: 设置字体的颜色,
  • cell.api.Font.Size = 24: 设置字体的大小
  • cell.api.Font.Bold = True: 设置为粗体
  • cell.api.HorizontalAlignment = -4108: 水平对齐格式-4108 水平居中。 -4131 靠左,-4152 靠右。
  • cell.api.VerticalAlignment = -4130 : 垂直对齐格式-4108 垂直居中(默认)。 -4160 靠上,-4107 靠下, -4130 自动换行对齐。
  • cell.api.NumberFormat = "0.00" : 设置单元格的数字格式
  • ws.range('C8:D8').api.merge() : 合并单元格 C8 到 D8
  • ws.range('C8:D8').api.unmerge() : 拆分单元格。
  • ws.autofit('c'): 整个工作表自动调整行高列宽; 行自适应,用 rows 或 r; 列自适应,用 columns 或 c;同时做行和列的自适应,不需要参数。
  • ws.range('A1').columns.autofit() : 列宽自适应
  • ws.range('A1').rows.autofit() : 行高自适应

插入/删除 行列相关方法

  • ws.range('a3').api.EntireRow.Delete() : 会删除 ’a3‘ 单元格所在的行
  • ws.api.Rows(3).Insert() : 会在第3行插入一行,原来的第3行下移
  • ws.range('c2').api.EntireColumn.Delete() : 会删除 ’c2‘ 单元格所在的列
  • ws.api.Columns(3).Insert() : 会在第3列插入一列,原来的第3列右移。(也可以用列的字母表示)

你可能感兴趣的:(Python,python,Excel)