赞
踩
Python操作Excel的模块有很多,并且各有优劣,不同模块支持的操作和文件类型也有不同。下面是各个模块的支持情况:
pip install openpyxl
import openpyxl
workbook = openpyxl.load_workbook('excel1.xlsx') #打开Excel文件,并返回Workbook对象
sheet = workbook['sheet1'] #获取工作表
A_cell_list = sheet['A'] #获取A列单元格 sheet['A1:B5']:获取指定范围内的单元格对象。
for A_cell in A_cell_list:
print(A_cell.value) #获取单元格中的值
import openpyxl
'''
filename:要加载的 Excel 文件的文件名或路径。可以是相对路径或绝对路径。
read_only:指定是否以只读模式加载 Excel 文件。默认值为 False,即以可读写模式加载文件。如果设置为 True,则以只读模式加载文件,这可以提高加载速度,但无法对文件进行修改。
data_only:指定是否仅加载单元格的值而不加载公式。默认值为 False,即同时加载单元格的值和公式。如果设置为 True,则只加载单元格的值,公式将被忽略。
keep_vba:指定是否保留 VBA 宏代码。默认值为 False,即不保留 VBA 宏代码。如果设置为 True,则加载时将保留 VBA 宏代码。
'''
workbook = openpyxl.load_workbook('excel1.xlsx') #打开Excel文件,并返回Workbook对象
import openpyxl
from openpyxl.styles import Font
workbook = openpyxl.load_workbook('excel1.xlsx')
sheet = workbook['sheet1']
'''
name:字体名称,例如 'Arial'、'Calibri' 等。
size:字体大小,以磅为单位。
bold:是否加粗字体,可以设置为 True 或 False。
italic:是否使用斜体字体,可以设置为 True 或 False。
underline:下划线样式,可以设置为以下值之一
Font.UNDERLINE_SINGLE:单下划线。
Font.UNDERLINE_DOUBLE:双下划线。
Font.UNDERLINE_SINGLE_ACCOUNTING会计单下划线。
Font.UNDERLINE_DOUBLE_ACCOUNTING:会计双下划线。
color:字体颜色,可以使用 RGB 值(如 'FF0000' 表示红色)
strikethrough:是否使用删除线,可以设置为 True 或 False。
superscript:是否使用上标,可以设置为 True 或 False。
subscript:是否使用下标,可以设置为 True 或 False。
'''
font = Font(name='Arial', size=12, color='FF0000', bold=True)
for item in sheet.iter_cols(min_row=1, max_row=sheet.max_row):
for cell in item:
cell.font = font
workbook.save('test.xlsx')
import openpyxl
from openpyxl.styles import PatternFill
workbook = openpyxl.load_workbook('excel1.xlsx')
sheet = workbook['sheet1']
'''
fill_type:填充类型,可以设置为以下值之一
'none':无填充。
'solid':纯色填充。
'gray125':灰色 125 填充。
'linearGradient':线性渐变填充。
'path':路径填充。
start_color:起始颜色,可以使用 RGB 值(如 'FF0000' 表示红色)
end_color:结束颜色,仅适用于某些填充类型(如线性渐变填充),可以使用 RGB值
fgColor:前景色,用于纯色填充,可以使用 RGB值
bgColor:背景色,用于纯色填充,可以使用 RGB值
'''
fill = PatternFill(fill_type='solid', fgColor='FFFF00')
for item in sheet.iter_cols(min_row=1, max_row=sheet.max_row):
for cell in item:
cell.fill = fill
workbook.save('test.xlsx')
import openpyxl
from openpyxl.styles import Border,Side
workbook = openpyxl.load_workbook('excel1.xlsx')
sheet = workbook['sheet1']
'''
Brder参数
left:左边框样式,可以设置为 Side 类的实例,用于定义边框的样式、颜色和边框线的粗细
right:右边框样式,同样可以设置为 Side 类的实例
top:上边框样式,同样可以设置为 Side 类的实例
bottom:下边框样式,同样可以设置为 Side 类的实例
diagonal:对角线边框样式,同样可以设置为 Side 类的实例
diagonal_direction:对角线方向,可以设置为以下值之一
'none':无对角线
'up':从左下到右上的对角线
'down':从左上到右下的对角线
Side参数
border_style:边框样式,可以设置为以下值之一
'none':无边框
'thin':细边框
'medium':中等粗细边框
'thick':粗边框
color:边框颜色,可以使用 RGB 值(如 'FF0000' 表示红色)
'''
border = Border(left=Side(border_style='thin', color='ff0000'),
right=Side(border_style='thin', color='ff0000'),
top=Side(border_style='thin', color='ff0000'),
bottom=Side(border_style='thin', color='ff0000'))
for item in sheet.iter_cols(min_row=1, max_row=sheet.max_row):
for cell in item:
cell.border = border
workbook.save('test.xlsx')
import openpyxl
from openpyxl.styles import Alignment
workbook = openpyxl.load_workbook('excel1.xlsx')
sheet = workbook['sheet1']
'''
horizontal:水平对齐方式,可以设置为以下值之一
'general':常规对齐
'left':左对齐
'center':居中对齐
'right':右对齐
'fill':填充对齐
'justify':两端对齐
'centerContinuous':连续居中对齐
'distributed':分散对齐
vertical:垂直对齐方式,可以设置为以下值之一
'top':顶部对齐
'center':居中对齐
'bottom':底部对齐
'justify':两端对齐
'distributed':分散对齐
textRotation:文本旋转角度,可以设置为整数值,表示以 90 度为单位的旋转角度
wrapText:布尔值,指示是否自动换行文本
shrinkToFit:布尔值,指示是否自动缩小以适应单元格大小
indent:缩进级别,可以设置为整数值,表示缩进的字符数
'''
alignment = Alignment(horizontal='center', vertical='center')
for item in sheet.iter_cols(min_row=1, max_row=sheet.max_row):
for cell in item:
cell.alignment = alignment
workbook.save('test.xlsx')
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。