使用Python实现高效复制Excel行列与单元格

2025-11-25 19:50

本文主要是介绍使用Python实现高效复制Excel行列与单元格,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《使用Python实现高效复制Excel行列与单元格》在日常办公自动化或数据处理场景中,复制Excel中的单元格、行、列是高频需求,下面我们就来看看如何使用FreeSpire.XLSforPython...

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

一、环境准备:安装Free Spire.XLS for Python

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

pip install spire.xls.free

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

二、核心实战:复制 Excel 元素的3种场景

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

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

场景1:复制 Excel 单元格 / 单元格范围

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

关键参数说明:

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

实战代码 :复制单个单元格

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

from spire.xls import *
from spire.xls.common import *

# 1. 加载Excel文件
workb编程ook = Workbook()
workbook.LoadFromFile("source.xlsx")

# 2www.chinasem.cn. 获取源工作表(Sheet1)
worksheet = workbook.Worksheets[0]  # 索引从0开始,对应Sheet1

# 3. 复制单元格(源单元格.Copy(目标单元格))
# 复制A1到A4
source_cell = worksheet.Range["A1"]  #AsXohhVQ 通过单元格地址获取
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"]

场景2:复制 Excel 中的指定行

行复制适用于批量复用整行数据(如模板行、表头行)。提供 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(目标)

# 复制指定行
souphprce_row = source_sheet.Rows[1]
source_sheet.CopyRow(row, target_sheet, 1, CopyRangeOptions.All)

workbook.SaveToFile("result_row_copy.xlsx")
workbook.Dispose()

场景3javascript:复制 Excel 中的指定列

列复制与行复制逻辑类似,适用于迁移特定字段。使用 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内容请搜索China编程(www.chinasem.cn)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程China编程(www.chinasem.cn)!

这篇关于使用Python实现高效复制Excel行列与单元格的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1156277

相关文章

C#借助Spire.XLS for .NET实现在Excel中添加文档属性

《C#借助Spire.XLSfor.NET实现在Excel中添加文档属性》在日常的数据处理和项目管理中,Excel文档扮演着举足轻重的角色,本文将深入探讨如何在C#中借助强大的第三方库Spire.... 目录为什么需要程序化添加Excel文档属性使用Spire.XLS for .NET库实现文档属性管理Sp

Python+FFmpeg实现视频自动化处理的完整指南

《Python+FFmpeg实现视频自动化处理的完整指南》本文总结了一套在Python中使用subprocess.run调用FFmpeg进行视频自动化处理的解决方案,涵盖了跨平台硬件加速、中间素材处理... 目录一、 跨平台硬件加速:统一接口设计1. 核心映射逻辑2. python 实现代码二、 中间素材处

python中的flask_sqlalchemy的使用及示例详解

《python中的flask_sqlalchemy的使用及示例详解》文章主要介绍了在使用SQLAlchemy创建模型实例时,通过元类动态创建实例的方式,并说明了如何在实例化时执行__init__方法,... 目录@orm.reconstructorSQLAlchemy的回滚关联其他模型数据库基本操作将数据添

Spring配置扩展之JavaConfig的使用小结

《Spring配置扩展之JavaConfig的使用小结》JavaConfig是Spring框架中基于纯Java代码的配置方式,用于替代传统的XML配置,通过注解(如@Bean)定义Spring容器的组... 目录JavaConfig 的概念什么是JavaConfig?为什么使用 JavaConfig?Jav

Java数组动态扩容的实现示例

《Java数组动态扩容的实现示例》本文主要介绍了Java数组动态扩容的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1 问题2 方法3 结语1 问题实现动态的给数组添加元素效果,实现对数组扩容,原始数组使用静态分配

Python实现快速扫描目标主机的开放端口和服务

《Python实现快速扫描目标主机的开放端口和服务》这篇文章主要为大家详细介绍了如何使用Python编写一个功能强大的端口扫描器脚本,实现快速扫描目标主机的开放端口和服务,感兴趣的小伙伴可以了解下... 目录功能介绍场景应用1. 网络安全审计2. 系统管理维护3. 网络故障排查4. 合规性检查报错处理1.

MySQL快速复制一张表的四种核心方法(包括表结构和数据)

《MySQL快速复制一张表的四种核心方法(包括表结构和数据)》本文详细介绍了四种复制MySQL表(结构+数据)的方法,并对每种方法进行了对比分析,适用于不同场景和数据量的复制需求,特别是针对超大表(1... 目录一、mysql 复制表(结构+数据)的 4 种核心方法(面试结构化回答)方法 1:CREATE

Python轻松实现Word到Markdown的转换

《Python轻松实现Word到Markdown的转换》在文档管理、内容发布等场景中,将Word转换为Markdown格式是常见需求,本文将介绍如何使用FreeSpire.DocforPython实现... 目录一、工具简介二、核心转换实现1. 基础单文件转换2. 批量转换Word文件三、工具特性分析优点局

Python中4大日志记录库比较的终极PK

《Python中4大日志记录库比较的终极PK》日志记录框架是一种工具,可帮助您标准化应用程序中的日志记录过程,:本文主要介绍Python中4大日志记录库比较的相关资料,文中通过代码介绍的非常详细,... 目录一、logging库1、优点2、缺点二、LogAid库三、Loguru库四、Structlogphp

Springboot3统一返回类设计全过程(从问题到实现)

《Springboot3统一返回类设计全过程(从问题到实现)》文章介绍了如何在SpringBoot3中设计一个统一返回类,以实现前后端接口返回格式的一致性,该类包含状态码、描述信息、业务数据和时间戳,... 目录Spring Boot 3 统一返回类设计:从问题到实现一、核心需求:统一返回类要解决什么问题?