Python xlwings库学习笔记

发布于:2025-07-12 ⋅ 阅读:(44) ⋅ 点赞:(0)

Python xlwings库学习笔记

📚 目录


1. xlwings简介

1.1 什么是xlwings?

xlwings是一个强大的Python库,用于与Microsoft Excel进行交互。它具有以下特点:

  • 直接操作Excel应用程序
  • 读写Excel文件
  • 自动化Excel操作
  • 与Pandas完美集成
  • 支持VBA宏调用
  • 跨平台兼容

1.2 xlwings的优势

特性 说明 优势
实时交互 直接控制Excel应用程序 可以实时看到操作效果
功能完整 支持Excel的所有功能 包括格式化、图表、公式等
性能优秀 批量操作效率高 适合处理大量数据
易于使用 Python语法简洁 学习成本低
扩展性强 支持自定义函数 可以集成VBA宏

1.3 与其他Excel库的对比

库名 特点 适用场景
xlwings 实时交互,功能完整 自动化、实时操作
openpyxl 纯Python实现 文件读写,无Excel依赖
xlsxwriter 只写模式 生成Excel报告
pandas 数据处理为主 数据分析,批量处理

2. 安装和配置

2.1 安装xlwings

# 使用pip安装
pip install xlwings

# 或者使用conda安装
conda install -c conda-forge xlwings

2.2 系统要求

  • Windows: 需要安装Microsoft Excel
  • macOS: 需要安装Microsoft Excel for Mac
  • Linux: 需要安装LibreOffice或Wine

2.3 验证安装

import xlwings as xw

# 测试基本功能
app = xw.App(visible=False)
wb = app.books.add()
sheet = wb.sheets.active
sheet.range('A1').value = "Hello xlwings!"
wb.close()
app.quit()
print("xlwings安装成功!")

3. 基础操作

3.1 启动Excel应用程序

import xlwings as xw

# 创建新的Excel应用程序实例
app = xw.App(visible=True)  # visible=True 显示Excel窗口
# visible=False 后台运行,不显示窗口

# 获取当前运行的Excel实例
app = xw.App.active

3.2 工作簿操作

# 创建新工作簿
wb = app.books.add()
print(f"新工作簿: {
     wb.name}")

# 打开现有工作簿
wb = app.books.open('example.xlsx')

# 保存工作簿
wb.save('new_file.xlsx')

# 关闭工作簿
wb.close()

# 退出Excel应用程序
app.quit()

3.3 工作表操作

# 获取活动工作表
sheet = wb.sheets.active

# 获取指定工作表
sheet = wb.sheets['Sheet1']

# 获取所有工作表
all_sheets = wb.sheets

# 创建新工作表
new_sheet = wb.sheets.add('NewSheet')

# 删除工作表
sheet.delete()

3.4 单元格操作

# 写入单个单元格
sheet.range('A1').value = "Hello World"

# 写入多个单元格
sheet.range('A1:C3').value = [
    ['A1', 'B1', 'C1'],
    ['A2', 'B2', 'C2'],
    ['A3', 'B3', 'C3']
]

# 读取单元格值
value = sheet.range('A1').value
print(f"A1的值: {
     value}")

# 读取范围数据
data = sheet.range('A1:C3').value
print("范围数据:")
for row in data:
    print(row)

3.5 范围操作

# 获取当前使用范围
used_range = sheet.used_range

# 扩展范围
expanded_range = sheet.range('A1').expand()

# 选择范围
sheet.range('A1:C10').select()

# 清除范围
sheet.range('A1:C10').clear()

4. 高级功能

4.1 格式化操作

# 设置字体
sheet.range('A1').api.Font.Bold = True
sheet.range('A1').api.Font.Size = 14
sheet.range('A1').api.Font.Name = "Arial"

# 设置背景色
sheet.range('A1').color = (255, 255, 0)  # 黄色背景

# 设置边框
sheet.range('A1:C3').api.Borders.LineStyle = 1

# 设置对齐方式
sheet.range('A1').api.HorizontalAlignment = -4108  # 居中

# 设置列宽和行高
sheet.range('A:A').column_width = 15
sheet.range('1:1').row_height = 25

4.2 公式操作


网站公告

今日签到

点亮在社区的每一天
去签到