📌 今日学习内容
👉 "今天继续深入Excel电子表格操作,掌握更多实用技巧"
✨ 知识点讲解
冻结窗格与视图管理
概念说明:冻结窗格可以固定电子表格中的行或列,方便滚动查看大量数据时保持表头可见。
代码示例:
importopenpyxlwb=openpyxl.load_workbook('example.xlsx')sheet=wb.active# 冻结首行sheet.freeze_panes='A2'# 冻结首列sheet.freeze_panes='B1'# 冻结前两行和前两列sheet.freeze_panes='C2'wb.save('frozen_panes_example.xlsx')
小提示:冻结窗格后,被冻结的行或列将始终保持可见,便于数据分析。
Excel图表创建与操作
概念说明:可以使用openpyxl创建多种类型的图表(如柱状图、折线图),直观展示数据。
代码示例:
importopenpyxlfromopenpyxl.chartimportBarChart, Referencewb=openpyxl.Workbook()sheet=wb.active# 添加数据foriinrange(1, 11):sheet[f'A{i}'] =i# 创建柱状图values=Reference(sheet, min_col=1, min_row=1, max_row=10, max_col=1)chart=BarChart()chart.add_data(values)chart.title='Sample Bar Chart'chart.x_axis.title='Index'chart.y_axis.title='Value'sheet.add_chart(chart, 'C1')wb.save('chart_example.xlsx')
小提示:图表可以增强数据可视化效果,帮助快速理解数据趋势。
条件格式与数据验证
概念说明:为单元格设置条件格式(如根据数值大小改变背景色),并添加数据验证规则(如限制输入范围)。
代码示例:
importopenpyxlfromopenpyxl.stylesimportPatternFillfromopenpyxl.utils.dataframeimportdataframe_to_rowsfromopenpyxl.worksheet.datavalidationimportDataValidationwb=openpyxl.Workbook()sheet=wb.active# 添加数据foriinrange(1, 11):sheet[f'A{i}'] =i*10# 设置条件格式red_fill=PatternFill(start_color='FFC107', end_color='FFC107', fill_type='solid')forcellinsheet['A1:A10']:ifcell[0].value>50:cell[0].fill=red_fill# 添加数据验证dv=DataValidation(type='whole', formula1='1', formula2='100')sheet.add_data_validation(dv)dv.add('B1:B10')wb.save('conditional_formatting_example.xlsx')
小提示:条件格式和数据验证可提高数据输入的准确性和可读性。
处理合并单元格与复杂表格
概念说明:处理合并单元格的数据提取,并创建包含合并单元格的表格。
代码示例:
importopenpyxlwb=openpyxl.load_workbook('merged_cells.xlsx')sheet=wb.active# 读取合并单元格数据formerged_cellinsheet.merged_cells.ranges:print(f'Merged cells found: {merged_cell}')# 创建合并单元格wb=openpyxl.Workbook()sheet=wb.activesheet.merge_cells(start_row=1, start_col=1, end_row=3, end_col=3)sheet['A1'] ='Merged Content'wb.save('create_merged_cells.xlsx')
小提示:在读取合并单元格时,数据通常存储在左上角的单元格中。
实战项目:自动化报表生成
概念说明:结合Excel操作与数据处理,自动生成月度销售报表。
代码示例:
importopenpyxlfromopenpyxl.stylesimportFont, Alignmentfromopenpyxl.chartimportPieChart, Reference# 创建工作簿并设置样式wb=openpyxl.Workbook()sheet=wb.activesheet.title='Monthly Sales Report'# 添加标题title_font=Font(name='Calibri', size=18, bold=True)sheet['A1'] ='Monthly Sales Report'sheet['A1'].font=title_fontsheet['A1'].alignment=Alignment(horizontal='center')# 添加数据data= [ ['Product', 'Sales'], ['Widget A', 120], ['Widget B', 80], ['Widget C', 150], ['Widget D', 100]]forrowindata:sheet.append(row)# 创建饼图pie=PieChart()labels=Reference(sheet, min_col=1, min_row=2, max_row=5)data=Reference(sheet, min_col=2, min_row=1, max_row=5)pie.add_data(data, titles_from_data=True)pie.set_categories(labels)pie.title='Sales Distribution'sheet.add_chart(pie, 'F2')# 保存工作簿wb.save('monthly_sales_report.xlsx')
小提示:综合运用样式设置和图表创建,可以生成专业美观的报表。
✅ 总结
冻结窗格:固定表头或列,便于查看大量数据。
图表创建:使用
openpyxl生成柱状图、饼图等可视化图表。条件格式与数据验证:增强数据的可读性和输入准确性。
合并单元格处理:正确读取和创建合并单元格,适应复杂表格布局。
自动化报表生成:整合Excel操作,自动生成专业报表。
📢 互动提问
你在工作中是否需要定期生成类似的报表?Python自动化生成报表是否能显著提高你的工作效率?
夜雨聆风