那我来讲解一下如何用Python绘制表格不同颜色的Excel文档。
首先我们需要安装一个叫做openpyxl的Python库,它可以帮助我们操作Excel文件。可以使用pip命令进行安装:
pip install openpyxl
接下来就可以开始编写代码了。下面给出一个完整的示例代码:
import openpyxl
from openpyxl.styles import PatternFill
# 创建一个新的Excel文件
wb = openpyxl.Workbook()
# 选择第一个工作表
ws = wb.active
# 设置表头
ws['A1'] = '姓名'
ws['B1'] = '年龄'
# 创建一个绿色的填充
green_fill = PatternFill(start_color='00FF00',
end_color='00FF00',
fill_type='solid')
# 设置第一行的背景为绿色
for cell in ws[1]:
cell.fill = green_fill
# 填写数据
ws['A2'] = '张三'
ws['B2'] = 20
ws['A3'] = '李四'
ws['B3'] = 25
# 给第二行设置黄色背景
yellow_fill = PatternFill(start_color='FFFF00',
end_color='FFFF00',
fill_type='solid')
ws['A2'].fill = yellow_fill
ws['B2'].fill = yellow_fill
ws['A3'].fill = yellow_fill
ws['B3'].fill = yellow_fill
# 保存Excel文件
wb.save('example.xlsx')
以上代码演示了如何创建一个包含两行数据的Excel文件,并将表头的背景颜色设置为绿色,第二行的背景颜色设置为黄色。
另外还可以加入一些循环逻辑,自动根据数据的行数设置不同的背景颜色。下面是一个示例代码:
import openpyxl
from openpyxl.styles import PatternFill
# 创建一个新的Excel文件
wb = openpyxl.Workbook()
# 选择第一个工作表
ws = wb.active
# 设置表头
ws['A1'] = '姓名'
ws['B1'] = '年龄'
# 填写数据
data = [
['张三', 20],
['李四', 25],
['王五', 30]
]
# 分别设置绿、黄、绿三种填充
green_fill = PatternFill(start_color='00FF00',
end_color='00FF00',
fill_type='solid')
yellow_fill = PatternFill(start_color='FFFF00',
end_color='FFFF00',
fill_type='solid')
ws['A1'].fill = green_fill
ws['B1'].fill = green_fill
# 循环写入数据并设置不同的填充
for i, row in enumerate(data):
ws.cell(row=i+2, column=1, value=row[0]).fill = green_fill if i % 2 == 0 else yellow_fill
ws.cell(row=i+2, column=2, value=row[1]).fill = green_fill if i % 2 == 0 else yellow_fill
# 自适应列宽
for col in ws.columns:
max_length = 0
column = col[0].column_letter
for cell in col:
try:
if len(str(cell.value)) > max_length:
max_length = len(str(cell.value))
except:
pass
adjusted_width = (max_length + 2)
ws.column_dimensions[column].width = adjusted_width
# 保存Excel文件
wb.save('example2.xlsx')
以上代码演示了如何根据数据行数的奇偶性设置不同的背景颜色,并自适应列宽。最终生成的Excel文件为example2.xlsx。
希望以上示例能够帮助到你。