Python办公自动化:使用openpyxl对单元格操作(一)

1 读取与写入单元格内容

单元格是 Excel 中存储数据的基本单位。在 openpyxl 中,可以通过 Worksheet 对象的 cell() 方法来访问和操作单元格。

写入单元格内容

可以使用 cell().value 属性向单元格写入数据。

import openpyxl

# 创建一个新的工作簿
workbook = openpyxl.Workbook()

# 获取当前活动工作表
sheet = workbook.active

# 在A1单元格写入字符串
sheet['A1'] = 'Hello, OpenPyXL!'

# 在B1单元格写入整数
sheet['B1'] = 42

# 在C1单元格写入浮点数
sheet['C1'] = 3.14

# 在D1单元格写入布尔值
sheet['D1'] = True

# 保存工作簿
workbook.save('cell_write_example.xlsx')

代码解释

  • sheet['A1'] = 'Hello, OpenPyXL!':直接使用单元格坐标向单元格写入字符串。
  • sheet.cell(row=2, column=2, value='Python'):另一种写入数据的方式,使用 rowcolumn 指定单元格位置。

读取单元格内容

可以使用 cell().value 属性来读取单元格内容。

import openpyxl

# 打开现有工作簿
workbook = openpyxl.load_workbook('cell_write_example.xlsx')

# 获取当前活动工作表
sheet = workbook.active

# 读取A1单元格的内容
a1_value = sheet['A1'].value

# 读取B1单元格的内容
b1_value = sheet.cell(row=1, column=2).value

print(f"A1单元格的内容是: {a1_value}")
print(f"B1单元格的内容是: {b1_value}")

代码解释

  • sheet['A1'].value:使用单元格坐标读取单元格内容。
  • sheet.cell(row=1, column=2).value:通过行号和列号访问单元格内容。

2 单元格的格式化

格式化是 Excel 中常用的功能,用于更改单元格的外观以突出显示数据。openpyxl 提供了对单元格字体、对齐方式、边框和填充颜色等进行格式化的功能。

设置字体

可以通过 Font 类设置单元格的字体样式。

import openpyxl
from openpyxl.styles import Font

# 创建一个新的工作簿
workbook = openpyxl.Workbook()
sheet = workbook.active

# 写入数据到A1单元格
sheet['A1'] = 'Bold Text'

# 设置A1单元格为粗体
sheet['A1'].font = Font(size=12, bold=True)

# 写入数据到B1单元格
sheet['B1'] = 'Italic Text'

# 设置B1单元格为斜体
sheet['B1'].font = Font(size=12, italic=True)

# 保存工作簿
workbook.save('cell_font_format.xlsx')

代码解释

  • Font(size=12, bold=True):创建一个字体对象,指定字体大小为12,字体样式为粗体。
  • sheet['A1'].font = font_object:将字体样式应用于单元格。

设置单元格对齐方式

可以使用 Alignment 类来设置单元格的对齐方式。

import openpyxl
from openpyxl.styles import Alignment

# 创建一个新的工作簿
workbook = openpyxl.Workbook()
sheet = workbook.active

# 写入数据到C1单元格
sheet['C1'] = 'Centered Text'

# 设置C1单元格内容居中
sheet['C1'].alignment = Alignment(horizontal='center', vertical='center')

# 保存工作簿
workbook.save('cell_alignment_format.xlsx')

代码解释

  • Alignment(horizontal='center', vertical='center'):创建一个对齐对象,水平和垂直对齐方式均设置为居中。
  • sheet['C1'].alignment = alignment_object:将对齐方式应用于单元格。

设置单元格边框

可以使用 Border 类和 Side 类设置单元格的边框样式。

import openpyxl
from openpyxl.styles import Border, Side

# 创建一个新的工作簿
workbook = openpyxl.Workbook()
sheet = workbook.active

# 写入数据到D1单元格
sheet['D1'] = 'Text with Border'

# 设置单元格边框
thin_border = Border(left=Side(style='thin'),
                     right=Side(style='thin'),
                     top=Side(style='thin'),
                     bottom=Side(style='thin'))

sheet['D1'].border = thin_border

# 保存工作簿
workbook.save('cell_border_format.xlsx')

代码解释

  • Side(style='thin'):创建边框边缘的样式,thin 表示细线边框。
  • Border(left=side_object, right=side_object, ...):设置四个方向的边框。
  • sheet['D1'].border = border_object:将边框样式应用于单元格。

设置单元格填充颜色

使用 PatternFill 类可以设置单元格的背景填充颜色。

import openpyxl
from openpyxl.styles import PatternFill

# 创建一个新的工作簿
workbook = openpyxl.Workbook()
sheet = workbook.active

# 写入数据到E1单元格
sheet['E1'] = 'Text with Background'

# 设置单元格背景颜色
fill = PatternFill(fill_type='solid', start_color='FFFF00', end_color='FFFF00')
sheet['E1'].fill = fill

# 保存工作簿
workbook.save('cell_fill_format.xlsx')

代码解释

  • PatternFill(fill_type='solid', start_color='FFFF00', end_color='FFFF00'):创建一个填充对象,填充类型为实心,颜色为黄色(FFFF00)。
  • sheet['E1'].fill = fill_object:将填充颜色应用于单元格。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值