如何使用Python高效复制Excel 行、列、单元格

Written by

in

文章目录
  • 在日常办公自动化或数据处理场景中,复制 Excel 中的单元格、行、列是高频需求——比如批量复用模板数据、迁移特定列数据、复制带格式的报表内容等。今天给大家分享一款轻量且强大的 Python 库:Free Spire.XLS for Python,它无需依赖 Microsoft Excel,就能实现 Excel 文件的读写与复制操作,支持 .xls 和 .xlsx 格式,免费版足以满足大多数个人和小型项目需求。本文将从环境准备到实战案例,详细讲解如何使用该免费库实现「单元格复制」「行复制」「列复制」。
  • 首先通过pip命令安装库,支持Python 3.6及以上版本: pip install spire.xls.free ⚠️ 注意:免费版限制单次处理最多5个工作表、每个工作表最多200行数据,适用于小型文件
  • 以下案例将围绕「测试文件source.xlsx」展开,文件结构如下(Sheet1为源数据,Sheet2为目标工作表): A列(姓名) B列(年龄) C列(城市) 张三 25 北京 李四 30 上海 王五 28 广州
  • 到此这篇关于如何使用Python高效复制Excel 行、列、单元格的文章就介绍到这了,更多相关Python复制Excel 行、列、单元格内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客! 您可能感兴趣的文章: python之如何复制excel模板并保留表格样式 python实现跨excel sheet复制代码实例 Python复制Excel中的行、列和单元格的操作代码 Python实现读取Excel文件并复制指定的数据行 Python对Excel不同的行分别复制不同的次数 Python实现复制和移动Excel工作表并保留所有格式 使用Python实现高效复制Excel行列与单元格
  • 目录
    • 前言
    • 一、环境准备:安装免费 Python 库
    • 二、核心实战:复制 Excel 元素的3种场景
      • 场景1:复制 Excel 单元格 / 单元格范围
        • 实战代码 :复制单个单元格
      • 场景2:复制 Excel 中的指定行
        • 实战代码:跨工作表复制行
      • 场景3:复制 Excel 中的指定列
        • 实战代码:通工作表复制列
    • 总结

      在日常办公自动化或数据处理场景中,复制 Excel 中的单元格、行、列是高频需求——比如批量复用模板数据、迁移特定列数据、复制带格式的报表内容等。今天给大家分享一款轻量且强大的 Python 库:Free Spire.XLS for Python,它无需依赖 Microsoft Excel,就能实现 Excel 文件的读写与复制操作,支持 .xls 和 .xlsx 格式,免费版足以满足大多数个人和小型项目需求。本文将从环境准备到实战案例,详细讲解如何使用该免费库实现「单元格复制」「行复制」「列复制」。

      首先通过pip命令安装库,支持Python 3.6及以上版本:

      pip install spire.xls.free
      

      ⚠️ 注意:免费版限制单次处理最多5个工作表、每个工作表最多200行数据,适用于小型文件

      以下案例将围绕「测试文件source.xlsx」展开,文件结构如下(Sheet1为源数据,Sheet2为目标工作表):

      A列(姓名) B列(年龄) C列(城市)
      张三 25 北京
      李四 30 上海
      王五 28 广州

      对于单个单元格或连续单元格范围,使用 CellRange.Copy()方法,支持精准复制指定区域。

      关键参数说明:

      • destRange:目标单元格 / 范围对象(需与源范围尺寸一致)
      • copyOptions:复制选项(默认 CopyRangeOptions.All

      需求:将Sheet1中A1(姓名)复制到A4。

      from spire.xls import *
      from spire.xls.common import *
      
      # 1. 加载Excel文件
      workbook = Workbook()
      workbook.LoadFromFile("source.xlsx")
      
      # 2. 获取源工作表(Sheet1)
      worksheet = workbook.Worksheets[0]  # 索引从0开始,对应Sheet1
      
      # 3. 复制单元格(源单元格.Copy(目标单元格))
      # 复制A1到A4
      source_cell = worksheet.Range["A1"]  # 通过单元格地址获取
      target_cell = worksheet.Range["A4"]
      source_cel1.Copy(target_cell, CopyRangeOptions.All)
      
      
      # 4. 保存结果文件
      workbook.SaveToFile("result_cell_copy.xlsx")
      workbook.Dispose()  # 释放资源,避免文件占用
      print("单元格复制完成!")
      

      如需复制单元格范围,如 A1: C3,使用 worksheet.Range["A1: C3"]

      行复制适用于批量复用整行数据(如模板行、表头行)。提供 Worksheet.CopyRow() 方法复制行,支持同步数据、格式、公式。

      关键参数说明:

      • sourceRow:源行对象(需通过 Worksheet.Rows[index] 获取,索引从 0 开始
      • destSheet:目标工作表对象
      • destRowIndex:目标行索引(从 1 开始,对应 Excel 实际行号)
      • copyOptions:复制选项(CopyRangeOptions.All 表示复制所有属性:值、格式、公式等)

      复制 Sheet1 的第2行(李四、30、上海)到 sheet2 第1行。

      from spire.xls import *
      from spire.xls.common import *
      
      workbook = Workbook()
      workbook.LoadFromFile("source.xlsx")
      worksheet = workbook.Worksheets[0]
      
      # 获取源工作表与目标工作表
      source_sheet = workbook.Worksheets[0]  # Sheet1(源)
      target_sheet = workbook.Worksheets[1]  # Sheet2(目标)
      
      # 复制指定行
      source_row = source_sheet.Rows[1]
      source_sheet.CopyRow(row, target_sheet, 1, CopyRangeOptions.All)
      
      workbook.SaveToFile("result_row_copy.xlsx")
      workbook.Dispose()
      

      列复制与行复制逻辑类似,适用于迁移特定字段。使用 Worksheet.CopyColumn() 方法复制列,参数如下:

      • sourceColumn:源列对象(通过 Worksheet.Columns[index] 获取,索引从 0 开始)
      • destColIndex:目标列索引(从 1 开始,对应 Excel 实际列号)
      • 其他参数与 CopyRow 一致

      复制 Sheet1 的C列(城市)到同工作表的D列。

      from spire.xls import Workbook
      
      workbook = Workbook()
      workbook.LoadFromFile("source.xlsx")
      worksheet = workbook.Worksheets[0]
      
      # 复制C列(第3列)到D列(第4列)
      source_column = worksheet.Columns[2]
      worksheet.CopyColumn(source_column, worksheet, 4, CopyRangeOptions.All)
      
      workbook.SaveToFile("result_column_copy.xlsx")
      workbook.Dispose()
      

      注意事项: 务必在操作完成后调用workbook.Dispose(),或使用with语句自动释放资源,避免Excel文件被占用。

      Free Spire.XLS for Python 是一款免费轻量化的 Excel 处理工具,相比 openpyxl、xlrd 等库,它在「格式复制」「公式处理」上更便捷,且无需依赖Excel环境,无论是简单的数据复制还是复杂的报表模板复用,这些方法都能满足高效办公需求。

      到此这篇关于如何使用Python高效复制Excel 行、列、单元格的文章就介绍到这了,更多相关Python复制Excel 行、列、单元格内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

      您可能感兴趣的文章:

      • python之如何复制excel模板并保留表格样式
      • python实现跨excel sheet复制代码实例
      • Python复制Excel中的行、列和单元格的操作代码
      • Python实现读取Excel文件并复制指定的数据行
      • Python对Excel不同的行分别复制不同的次数
      • Python实现复制和移动Excel工作表并保留所有格式
      • 使用Python实现高效复制Excel行列与单元格

      站内搜索