python使用Openpyxl操作Excel文件的实现

Written by

in

文章目录
  • 目录
    • 安装
      • 安装Python3
      • 安装 openpyxl
    • 基础操作
      • 1. 引入
      • 2. 创建工作簿和工作表
      • 3. 写入数据
      • 4. 保存工作簿
      • 5. 加载已存在的Excel
      • 6. 读取单元格的值
      • 7. 选择工作表
    • 样式和格式化
      • 1. 引入
      • 2. 设置字体
      • 3. 设置边框
      • 4. 填充
      • 5. 设置数字格式
      • 6. 数据验证
      • 7. 公式操作
    • 性能优化
      • 1. read_only/write_only
      • 2. 遍历单元格

    openpyxl 是一个用于在 Python 中读取和写入 Excel 文件的优秀库。
    它支持 .xlsx 和 .xlsm 格式,非常适合在 Ubuntu 系统上进行 Excel 数据处理和自动化操作。
    本篇博客将介绍一些常用的 openpyxl 命令。

    首先,你需要安装 openpyxl 和 Python。在 Ubuntu 上,可以通过以下命令安装:

    sudo apt install python3
    

    pip3 install openpyxl
    

    from openpyxl import Workbook # 新建文件的引入
    from openpyxl import load_workbook # 加载已存在文件的引入
    

    wb = Workbook() # 创建一个新的工作簿
    ws = wb.active # 获取活动工作表
    
    wb.create_sheet("Sheet2") # 创建一个新的工作表并命名
    ws.title = "NewSheet" # 修改工作表名
    

    ws['A1'] = 'Hello, World!'
    ws['B1'] = 42
    ws['C1'] = 3.14
    cell = ws.cell(row=1, column=1, value="New Value")
    

    wb.save('example.xlsx')
    

    wb = load_workbook('example.xlsx')
    ws = wb.active
    

    cell_a1 = ws['A1'].value
    cell_b1 = ws['B1'].value
    cell_c1 = ws['C1'].value
    
    print(f"A1: {cell_a1}, B1: {cell_b1}, C1: {cell_c1}")
    

    ws1 = wb.worksheets[0] # 通过索引选择工作表
    ws2 = wb["Sheet2"] # 通过名称选择工作表
    

    from openpyxl.styles import Font, Alignment # 样式操作的引入
    

    font = Font(name='Arial', size=14, bold=True, italic=False)
    ws['A1'].font = font
    

    border = Border(left=Side(border_style='thin'),
                    right=Side(border_style='thin'),
                    top=Side(border_style='thin'),
                    bottom=Side(border_style='thin'))
    ws['A1'].border = border
    

    fill = PatternFill(start_color="FF0000", end_color="FF0000", fill_type="solid")
    ws['A1'].fill = fill
    

    ws['B1'].number_format = '0.00%'   # 百分比格式
    ws['C1'].number_format = 'YYYY-MM-DD'  # 日期格式

    from openpyxl.worksheet.datavalidation import DataValidation
    
    dv = DataValidation(type="list", formula1='"Apple,Banana,Cherry"', allow_blank=True) # 创建数据验证对象
    
    ws.add_data_validation(dv) 
    dv.add('A1') # 将数据验证应用到单元格
    

    可以在单元格中插入公式:

    ws['D1'] = "=SUM(A1:A3)"
    

    对于大的 Excel 文件,可以使用read_only来提高读取效率, 使用 write_only 来优化写入性能

    from openpyxl import load_workbook
    
    wb = load_workbook('example.xlsx', read_only=True) # 使用只读模式加载工作簿
    
    from openpyxl import Workbook
    
    wb = Workbook(write_only=True) # 使用写入模式创建工作簿
    ws = wb.create_sheet()
    

    可以使用 .rows 和 .columns 遍历工作表中的行和列:

    for row in ws.iter_rows(min_row=1, max_row=5, min_col=1, max_col=3):
        for cell in row:
            print(cell.value, end=" ")

    到此这篇关于python使用Openpyxl操作Excel文件的实现的文章就介绍到这了,更多相关python Openpyxl操作Excel内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客! 

    您可能感兴趣的文章:

    • Python使用pandas和openpyxl读取Excel表格的方法详解
    • python使用openpyxl打开及读取excel表格过程
    • python使用openpyxl实现对excel表格相对路径的超链接的创建方式
    • python openpyxl提取Excel图片实现原理技巧
    • python openpyxl操作Excel的安装使用
    • python使用openpyxl库处理Excel文件详细教程
    • Python通过OpenPyXL处理Excel的完整教程
    • python使用openpyxl库读取Excel文件数据
    • python如何通过openpyxl读写Excel文件
    • Python Excel操作从零学习掌握openpyxl用法
    • 使用python中的openpyxl操作excel详解
    • python操作Excel神器openpyxl看这一篇就够了

    站内搜索