在 excel 中复制工作表是一项重要的技能,特别是当你需要基于现有工作表创建新的工作表时。通过利用复制功能,可以避免手动重新创建相同内容可能导致的潜在错误。这不仅节省时间和精力,还确保数据的准确性和可靠性。本文将介绍如何使用 spire.xls for python 在 python 中复制工作表。
安装 spire.xls for python
本教程需要 spire.xls for python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 vs code 中。
pip install spire.xls
如果您不确定如何安装,请参考此教程: 如何在 vs code 中安装 spire.xls for python
python 在同一个 excel 工作簿中复制工作表
为了实现复制工作表,您可以通过创建一个新的工作表并把它添加到同一工作簿中,然后将原始工作表的数据复制到新工作表里。具体步骤如下:
- 初始化一个 workbook 类的实例。
- 使用 workbook.loadfromfile() 方法加载一个excel工作簿。
- 使用 workbook.worksheets[int index] 属性获取特定工作表。
- 使用 workbook.worksheets.add() 方法向工作簿添加一个新的工作表。
- 使用 worksheet.copyfrom(worksheet worksheet) 方法将特定工作表的数据复制到新工作表。
- 使用 workbook.savetofile() 方法将结果工作簿保存到另一个文件中。
- python
from spire.xls import *
from spire.xls.common import *
# 创建一个工作簿对象
workbook = workbook()
# 从文件中加载一个工作簿
workbook.loadfromfile("示例1.xlsx")
# 获取源工作表
sourcesheet = workbook.worksheets[0]
# 设置目标工作表的名称为源工作表名称 "_复制"
sheetname = sourcesheet.name "_复制"
# 在同一工作簿中添加目标工作表,并使用设置的名称
destsheet = workbook.worksheets.add(sheetname)
# 将源工作表内容复制到目标工作表
destsheet.copyfrom(sourcesheet)
# 将工作簿保存到文件,使用2016版本的excel格式
workbook.savetofile("在同一个excel工作簿中复制工作表.xlsx", excelversion.version2016)
# 释放工作簿的资源
workbook.dispose()
python 将工作表复制到另一个 excel 工作簿
要将一个工作表从一个工作簿复制到另一个工作簿,您需要向目标工作簿添加一个新的工作表,然后将源工作簿中的工作表数据复制到目标工作簿的新工作表中。如果您想保留源格式,可以将源工作簿的主题样式复制到目标工作簿。以下是具体的步骤:
- 初始化一个 workbook 类的实例。
- 使用 workbook.loadfromfile() 方法加载源工作簿。
- 使用 workbook.worksheets[int index] 属性获取特定工作表。
- 初始化一个 workbook 类的实例。
- 使用 workbook.loadfromfile() 方法加载目标工作簿。
- 使用 workbook.worksheets.add() 方法向目标工作簿添加一个新的工作表。
- 使用 worksheet.copyfrom(worksheet worksheet) 方法将源工作簿的特定工作表复制到目标工作簿的新工作表。
- 使用 workbook.copytheme (workbook srcworkbook) 方法将源工作簿的主题样式复制到目标工作簿。
- 使用 workbook.savetofile() 方法将结果工作簿保存到另一个文件中。
- python
from spire.xls import *
from spire.xls.common import *
# 创建一个工作簿对象
sourceworkbook = workbook()
# 从文件中加载一个工作簿
sourceworkbook.loadfromfile("示例1.xlsx")
# 获取源工作表
sourcesheet = sourceworkbook.worksheets[0]
# 设置目标工作表的名称为源工作表名称 "_复制"
sheetname = sourcesheet.name "_复制"
# 创建一个目标工作簿对象
destworkbook = workbook()
# 从文件中加载另一个工作簿
destworkbook.loadfromfile("示例2.xlsx")
# 添加目标工作表,并使用设置的名称
destsheet = destworkbook.worksheets.add(sheetname)
# 将源工作表内容复制到目标工作表
destsheet.copyfrom(sourcesheet)
# 复制源工作簿的主题样式到目标工作簿
destworkbook.copytheme(sourceworkbook)
# 将目标工作簿保存到文件,使用2016版本的excel格式
destworkbook.savetofile("将工作表复制到另一个excel工作簿.xlsx", excelversion.version2016)
# 释放源工作簿的资源
sourceworkbook.dispose()
# 释放目标工作簿的资源
destworkbook.dispose()
python 将可见工作表复制到新的 excel 工作簿
如果您只想与他人共享可见的工作表而不是整个工作簿,您可以将可见的工作表复制到一个新的工作簿中。以下是详细的步骤:
- 初始化一个 workbook 类的实例。
- 使用 workbook.loadfromfile() 方法加载源工作簿。
- 初始化一个 workbook 类的实例来创建一个新的工作簿,然后使用 workbook.worksheets.clear() 方法清除新工作簿中的默认工作表。
- 遍历源工作簿中的所有工作表。使用worksheet.visibility属性检查当前工作表是否可见,如果结果为true,则使用 workbook.worksheets.add() 方法向新工作簿添加一个新的工作表。
- 使用 worksheet.copyfrom(worksheet worksheet) 方法将源工作簿的工作表复制到新工作簿的新工作表中。
- 使用 workbook.copytheme(workbook srcworkbook) 方法将源工作簿的主题样式复制到新工作簿。
- 使用 workbook.savetofile() 方法将结果工作簿保存到另一个文件中。
- python
from spire.xls import *
from spire.xls.common import *
# 创建一个源工作簿对象
sourceworkbook = workbook()
# 从文件中加载一个工作簿
sourceworkbook.loadfromfile("示例3.xlsx")
# 创建一个新的工作簿对象
newworkbook = workbook()
# 设置新的工作簿的版本为excel 2016
newworkbook.version = excelversion.version2016
# 清除新工作簿中的所有工作表
newworkbook.worksheets.clear()
# 循环遍历源工作簿中的每个工作表
for sourcesheet in sourceworkbook.worksheets:
# 如果源工作表可见
if sourcesheet.visibility == worksheetvisibility.visible:
# 设置目标工作表名称为源工作表名称 "_复制"
sheetname = sourcesheet.name "_复制"
# 在新工作簿中添加目标工作表,并使用设置的名称
destsheet = newworkbook.worksheets.add(sheetname)
# 将源工作表内容复制到目标工作表
destsheet.copyfrom(sourcesheet)
# 复制源工作簿的主题样式到新工作簿
newworkbook.copytheme(sourceworkbook)
# 将新工作簿保存到文件,使用2016版本的excel格式
newworkbook.savetofile("将可见工作表复制到新的excel工作簿.xlsx", excelversion.version2016)
# 释放源工作簿的资源
sourceworkbook.dispose()
# 释放新工作簿的资源
newworkbook.dispose()
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。