冰蓝科技
|
028-81705109
|
|
微信扫一扫
|

Spire.Cloud 纯前端文档控件

默认情况下,Excel 使用列字母和行号来引用单元格和区域(例如,A1、B2:C5)。虽然这种方法是有效的,但在处理大型数据集或复杂公式时可能变得不方便。命名区域提供了解决此问题的方法,它允许用户为单元格或区域指定自定义名称,使其更容易识别、引用和处理。本文将介绍如何使用 Spire.XLS for Python 在 Python 中创建、编辑或删除 Excel 文档中的命名区域。

安装 Spire.XLS for Python

本教程需要 Spire.XLS for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 Windows 中。

pip install Spire.XLS

如果您不确定如何安装,请参考此教程: 如何在 Windows 中安装 Spire.XLS for Python

Python 在 Excel 中创建一个命名区域

您可以使用 Spire.XLS for Python 提供的 Workbook.NameRanges.Add() 方法向 Excel 工作簿添加命名区域。一旦添加了命名区域,您可以使用 INamedRange.RefersToRange 属性定义它所引用的单元格或单元格范围。以下是具体的步骤:

  • Python
from spire.xls import *
from spire.xls.common import *

# 创建一个新的工作簿对象
workbook = Workbook()

# 从现有的 Excel 文件加载工作簿
workbook.LoadFromFile("示例1.xlsx")

# 创建一个名为 "用户体验" 的命名区域
namedRange = workbook.NameRanges.Add("用户体验")

# 获取第一个工作表
sheet = workbook.Worksheets[0]

# 将命名区域与工作表中的特定范围关联起来(此处范围为 C2:C7)
namedRange.RefersToRange = sheet.Range["C2:C7"]

# 将修改后的工作簿保存到新的 Excel 文件中,版本为 Excel 2016
workbook.SaveToFile("在Excel中创建一个命名区域.xlsx", ExcelVersion.Version2016)

# 释放工作簿资源
workbook.Dispose()

Python 在 Excel 中创建、编辑或删除命名区域

Python 在 Excel 中编辑现有的命名区域

在创建了命名区域之后,您可能希望修改其名称或调整所引用的单元格。以下步骤说明如何使用 Spire.XLS for Python 在 Excel 中修改现有命名区域的名称和单元格范围的引用:

  • Python
from spire.xls import *
from spire.xls.common import *

# 创建一个新的工作簿对象
workbook = Workbook()

# 从现有的 Excel 文件加载工作簿
workbook.LoadFromFile("示例2.xlsx")

# 获取第一个命名区域对象
namedRange = workbook.NameRanges[0]

# 修改命名区域的名称为 "用户体验评分"
namedRange.Name = "用户体验评分"

# 将命名区域与工作表中的特定范围关联起来(此处范围为 C3:C6)
namedRange.RefersToRange = workbook.Worksheets[0].Range["C3:C6"]

# 将修改后的工作簿保存到新的 Excel 文件中,版本为 Excel 2016
workbook.SaveToFile("在Excel中编辑现有的命名区域.xlsx", ExcelVersion.Version2016)

# 释放工作簿资源
workbook.Dispose()

Python 在 Excel 中创建、编辑或删除命名区域

Python 从 Excel 中删除一个命名区域

如果您对电子表格的结构或布局进行了重大更改,可能需要删除不再相关或准确的命名区域。以下步骤说明如何使用 Spire.XLS for Python 从 Excel 中删除命名区域:

  • Python
from spire.xls import *
from spire.xls.common import *

# 创建一个新的工作簿对象
workbook = Workbook()

# 从现有的 Excel 文件加载工作簿
workbook.LoadFromFile("示例2.xlsx")

# 移除第一个命名区域
workbook.NameRanges.RemoveAt(0)

# 或者使用名称来移除命名区域
# workbook.NameRanges.Remove("用户体验");

# 将修改后的工作簿保存到新的 Excel 文件中,版本为 Excel 2016
workbook.SaveToFile("从Excel中删除一个命名范围.xlsx", ExcelVersion.Version2016)

# 释放工作簿资源
workbook.Dispose()

Python 在 Excel 中创建、编辑或删除命名区域

申请临时 License

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。

在 Excel 中复制工作表是一项重要的技能,特别是当你需要基于现有工作表创建新的工作表时。通过利用复制功能,可以避免手动重新创建相同内容可能导致的潜在错误。这不仅节省时间和精力,还确保数据的准确性和可靠性。本文将介绍如何使用 Spire.XLS for Python 在 Python 中复制工作表。

安装 Spire.XLS for Python

本教程需要 Spire.XLS for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 Windows 中。

pip install Spire.XLS

如果您不确定如何安装,请参考此教程: 如何在 Windows 中安装 Spire.XLS for Python

Python 在同一个 Excel 工作簿中复制工作表

为了实现复制工作表,您可以通过创建一个新的工作表并把它添加到同一工作簿中,然后将原始工作表的数据复制到新工作表里。具体步骤如下:

  • 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 中复制工作表

Python 将工作表复制到另一个 Excel 工作簿

要将一个工作表从一个工作簿复制到另一个工作簿,您需要向目标工作簿添加一个新的工作表,然后将源工作簿中的工作表数据复制到目标工作簿的新工作表中。如果您想保留源格式,可以将源工作簿的主题样式复制到目标工作簿。以下是具体的步骤:

  • 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 中复制工作表

Python 将可见工作表复制到新的 Excel 工作簿

如果您只想与他人共享可见的工作表而不是整个工作簿,您可以将可见的工作表复制到一个新的工作簿中。以下是详细的步骤:

  • 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()

Python 在 Excel 中复制工作表

申请临时 License

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。

在编辑或更新大型演示文稿时,手动定位和修改特定的文本元素可能是一项繁琐且耗时的工作。通过使用 PowerPoint 中的替换功能,您可以快速准确地对整个演示文稿进行更新,确保信息保持准确和一致。在本文中,我们将介绍如何使用 Spire.Presentation for Python 在 Python 中替换 PowerPoint 演示文稿中的文本。

安装 Spire.Presentation for Python

本教程需要用到 Spire.Presentation for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。

pip install Spire.Presentation

如果您不确定如何安装,请参考此教程: 如何在 Windows 中安装 Spire.Presentation for Python

Python 替换 PowerPoint 中第一个特定文本

要替换 PowerPoint 文档中特定文本的第一次出现,您可以遍历文档中的所有幻灯片,然后调用 ISlide.ReplaceFirstText() 方法。具体步骤如下:

  • Python
from spire.presentation.common import *
from spire.presentation import *

# 创建一个Presentation对象
ppt = Presentation()

#加载演示文稿数据
ppt.LoadFromFile("输入文档.pptx")

# 遍历每个幻灯片对象
for slide in ppt.Slides:
    # 替换幻灯片中第一个文本框中的内容,将"for Python"替换为"Product",不区分大小写
    slide.ReplaceFirstText("for Python", "Product", False)
    # 只替换第一个幻灯片的文本,然后退出循环
    break

# 保存文件,文件格式为PPTX2013
ppt.SaveToFile("替换第一个文本.pptx", FileFormat.Pptx2013)
# 释放演示文稿资源
ppt.Dispose()

Python 替换 PowerPoint 演示文稿中的文本

Python 替换 PowerPoint 中所有特定文本

要替换 PowerPoint 文档中特定文本的所有出现,您可以遍历文档中的所有幻灯片,然后使用 ISlide.ReplaceAllText() 方法。具体步骤如下:

  • Python
from spire.presentation.common import *
from spire.presentation import *

# 创建一个Presentation对象
ppt = Presentation()
# 加载演示文稿数据
ppt.LoadFromFile("输入文档.pptx")

# 遍历每个幻灯片对象
for slide in ppt.Slides:
    # 替换当前幻灯片中所有文本框中的内容,将"for Python"替换为"Product",不区分大小写
    slide.ReplaceAllText("for Python", "Product", False)

# 保存文件,文件格式为PPTX2013
ppt.SaveToFile("替换全部文本.pptx", FileFormat.Pptx2013)
# 释放演示文稿资源
ppt.Dispose()

Python 替换 PowerPoint 演示文稿中的文本

Python 使用正则表达式替换 PowerPoint 中的文本

Spire.Presentation for Python 提供了 IShape.ReplaceTextWithRegex() 方法,用于替换与正则表达式模式匹配的文本。具体步骤如下:

  • Python
from spire.presentation.common import *
from spire.presentation import *

# 创建一个Presentation对象
ppt = Presentation()
# 加载演示文稿数据
ppt.LoadFromFile("正则文档.pptx")

# 遍历每个幻灯片对象
for slide in ppt.Slides:
    # 遍历幻灯片中的每个形状对象
    for shape in slide.Shapes:
        # 使用正则表达式将形状中符合模式 "#{.*?}" 的文本替换为 "Spire.Presentation for Python"
        shape.ReplaceTextWithRegex(Regex("#{.*?}"), "Spire.Presentation for Python")

# 保存文件,文件格式为PPTX2013
ppt.SaveToFile("使用正则替换文本.pptx", FileFormat.Pptx2013)
# 释放演示文稿资源
ppt.Dispose()

Python 替换 PowerPoint 演示文稿中的文本

申请临时 License

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。

PowerPoint 演示文稿通常包含敏感信息,比如财务数据、商业机密或个人细节。在通过电子邮件或云存储共享这些文件时,重要的是防止未经授权的人访问或查看它们。为了保护 PowerPoint 演示文稿的内容,您可以采取各种安全措施。例如,您可以实施密码保护,或将演示文稿设置为最终版或只读模式。在某些情况下,您可能需要取消对受密码保护或加密的PowerPoint演示文稿的保护。当您需要与公众分享文件或者密码不再需要时,可能会有这种需求。在本文中,我们将介绍如何使用 Spire.Presentation for Python 在 Python 中保护或取消保护 PowerPoint 演示文稿。

安装 Spire.Presentation for Python

本教程需要用到 Spire.Presentation for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。

pip install Spire.Presentation

如果您不确定如何安装,请参考此教程: 如何在 Windows 中安装 Spire.Presentation for Python

Python 使用密码保护 PowerPoint 演示文稿

您可以使用密码对 PowerPoint 演示文稿进行保护,确保只有知道正确密码的人才能查看和编辑该演示文稿。

以下是保护 PowerPoint 演示文稿的步骤:

  • Python
from spire.presentation import *

# 创建一个Presentation对象
presentation = Presentation()

# 从文件加载示例PPT文档
presentation.LoadFromFile("示例文档.pptx")

# 对文档进行加密,提供加密密码
presentation.Encrypt("your password")

# 将加密后的文档保存为新的PPT文件,使用Pptx2016格式
presentation.SaveToFile("加密.pptx", FileFormat.Pptx2016)

# 释放Presentation对象所占用的资源
presentation.Dispose()

Python 保护或取消保护 PowerPoint 演示文稿

Python 将 PowerPoint 演示文稿标记为最终版

您可以将 PowerPoint 演示文稿标记为最终版,以通知读者该文档已完成,不再需要进一步编辑。

以下是将 PowerPoint 演示文稿标记为最终版的步骤:

  • Python
from spire.presentation import *

# 创建一个Presentation对象
presentation = Presentation()

# 从文件加载示例PPT文档
presentation.LoadFromFile("示例文档.pptx")

# 将文档的"MarkAsFinal"属性设置为True,标记文档为最终版本
presentation.DocumentProperty.MarkAsFinal = True

# 将标记为最终的文档保存为新的PPT文件,使用Pptx2016格式
presentation.SaveToFile("最终文档.pptx", FileFormat.Pptx2016)

# 释放Presentation对象所占用的资源
presentation.Dispose()

Python 保护或取消保护 PowerPoint 演示文稿

Python 将 PowerPoint 演示文稿设置为只读

您可以将 PowerPoint 演示文稿设置为只读,允许其他人查看它,同时防止他们对内容进行任何更改。

以下是将 PowerPoint 演示文稿设置为只读的步骤:

  • Python
from spire.presentation import *

# 创建一个Presentation对象
presentation = Presentation()

# 从文件加载示例PPT文档
presentation.LoadFromFile("示例文档.pptx")

# 对文档进行保护,并提供保护密码
presentation.Protect("your password")

# 将只读保护后的文档保存为新的PPT文件,使用Pptx2016格式
presentation.SaveToFile("只读.pptx", FileFormat.Pptx2016)

# 释放Presentation对象所占用的资源
presentation.Dispose()

Python 保护或取消保护 PowerPoint 演示文稿

Python 从 PowerPoint 演示文稿中移除密码保护

您可以通过使用正确的密码加载演示文稿,然后从中移除密码保护来取消 PowerPoint 演示文稿的密码保护。

以下是从 PowerPoint 演示文稿中移除密码保护的步骤:

  • Python
from spire.presentation import *

# 创建一个Presentation对象
presentation = Presentation()

# 从文件加载加密的PPT文档,并提供解密密码
presentation.LoadFromFile("加密文档.pptx", "your password")

# 移除文档的加密保护
presentation.RemoveEncryption()

# 将解密后的文档保存为新的PPT文件,使用Pptx2016格式
presentation.SaveToFile("解密文档.pptx", FileFormat.Pptx2016)

# 释放Presentation对象所占用的资源
presentation.Dispose()

Python 保护或取消保护 PowerPoint 演示文稿

Python 从 PowerPoint 演示文稿中移除“标记为最终版”选项

“标记为最终版”功能使 PowerPoint 演示文稿变为只读,以防止进一步更改。如果您决定稍后对演示文稿进行更改,可以将其从最终版状态中移除。

以下是从 PowerPoint 演示文稿中移除“标记为最终版”选项的步骤:

  • Python
from spire.presentation import *

# 创建一个Presentation对象
presentation = Presentation()

# 从文件加载定稿的PPT文档
presentation.LoadFromFile("定稿文档.pptx")

# 将文档的"MarkAsFinal"属性设置为False,取消定稿状态
presentation.DocumentProperty.MarkAsFinal = False

# 将移除定稿后的文档保存为新的PPT文件,使用Pptx2016格式
presentation.SaveToFile("移除定稿.pptx", FileFormat.Pptx2016)

# 释放Presentation对象所占用的资源
presentation.Dispose()

Python 保护或取消保护 PowerPoint 演示文稿

Python 从 PowerPoint 演示文稿中移除“只读”选项

将 PowerPoint 演示文稿中的“只读”选项移除,可以恢复完整的编辑功能,使您能够根据需要修改、添加或删除演示文稿中的内容。

以下是从 PowerPoint 演示文稿中移除“只读”选项的步骤:

  • Python
from spire.presentation import *

# 创建一个Presentation对象
presentation = Presentation()

# 从文件加载只读的PPT文档
presentation.LoadFromFile("只读文档.pptx")

# 移除文档的只读保护
presentation.RemoveProtect()

# 将取消只读后的文档保存为新的PPT文件,使用Pptx2016格式
presentation.SaveToFile("取消只读.pptx", FileFormat.Pptx2016)

# 释放Presentation对象所占用的资源
presentation.Dispose()

Python 保护或取消保护 PowerPoint 演示文稿

申请临时 License

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。

Spire.XLS for C++ 14.1.3 已发布。该版本新增了自定义异常类SpireException。此外,还增强了从Excel到PDF的转换功能。详情请阅读以下内容。

新功能:

问题修复:


获取Spire.XLS for C++ 14.1.3请点击:

https://www.e-iceblue.cn/Downloads/Spire-XLS-CPP.html

复制表格中的行和列或者直接复制整个表格是一种常见的数据备份方法。通过复制表格,可以更好地创建副本,以防原始表格数据丢失或发生意外的更改。在数据分析过程中,人们经常需要对表格进行处理和分析,然后通过复制行和列,可以创建新的数据集合,以便进行进一步的计算、筛选或图表制作。本文将介绍如何使用 Spire.Doc for Python 复制 Word 表格中行或列。

安装 Spire.Doc for Python

本教程需要使用 Spire.Doc for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 Windows 中。

pip install Spire.Doc

如果您不确定如何安装,请参考此教程:如何在 Windows 中安装 Spire.Doc for Python

Python 复制 Word 表格中的行

Spire.Doc for Python 提供了 TableRow.Clone() 方法,复制 Word 表格中的行,再通过 Table.Rows.Add() 方法将克隆的行添加到表格中。下面是详细的步骤:

  • Python
from spire.doc import *
from spire.doc.common import *

# 定义输入文件路径
inputFile = "data/表格.docx"

# 定义输出文件路径
outputFile = "output/CloneRow.docx"

# 创建文档对象
doc = Document()

# 从输入文件中加载文档内容
doc.LoadFromFile(inputFile)

# 获取文档的第一个章节
section = doc.Sections.get_Item(0)

# 获取第一个表格的第一行
firstRow = section.Tables.get_Item(0).Rows.get_Item(1)

# 克隆第一行
clone_FirstRow = firstRow.Clone()

# 将克隆的行添加到表格中
section.Tables[0].Rows.Add(clone_FirstRow)

# 保存修改后的文档到输出文件
doc.SaveToFile(outputFile, FileFormat.Docx)

# 关闭文档对象
doc.Close()

Python 复制 Word 表格中行或列

Python 复制 Word 表格中的列

Spire.Doc for Python 没有直接提供复制 Word 表格中列的方法。但是,用户可以通过遍历指定列中的单元格,然后使用 TableRow.Cells[].Clone() 方法,逐个复制。最后,再通过 TableRow.Cells.Add() 或 TableRow.Cells.Insert() 方法在表格中的特定位置添加或插入复制的单元格。下面是详细的步骤:

  • Python
from spire.doc import *
from spire.doc.common import *

# 定义输入文件路径
inputFile = "output/表格.docx"

# 定义输出文件路径
outputFile = "output/CloneColumn.docx"

# 创建文档对象
doc = Document()

# 从输入文件中加载文档内容
doc.LoadFromFile(inputFile)

# 获取文档的第一个节(section)
section = doc.Sections.get_Item(0)

# 获取第一个节中的表格
table = section.Tables.get_Item(0)

# 遍历表格的每一行
for i in range(table.Rows.Count):
    # 获取当前行
    row = table.Rows.get_Item(i)
    
    # 克隆当前行的第二个单元格(索引为1)
    cell = row.Cells[1].Clone()
    
    # 设置克隆单元格的宽度与第一个单元格相同
    cell.Width = row.Cells[0].Width
    
    # 将克隆的单元格添加到当前行的末尾
row.Cells.Add(cell)

    # 将克隆的单元格添加到当前列
    #row.Cells.Insert(2, cell)

# 将修改后的文档保存到输出文件中,格式为Docx
doc.SaveToFile(outputFile, FileFormat.Docx)

# 关闭文档对象
doc.Close()

Python 复制 Word 表格中行或列

Python 复制完整的 Word 表格

Spire.Doc for Python 提供 Table.Clone() 方法,复制完整的 Word 表格,然后,用户可以通过使用 Section.Tables.Add() 方法将复制的表格添加到文档中。下面是详细的步骤:

  • Python
from spire.doc import *
from spire.doc.common import *

# 定义输入文件路径
inputFile = "output/表格.docx"

# 定义输出文件路径
outputFile = "output/CloneTable.docx"

# 创建文档对象
doc = Document()

# 从输入文件中加载文档内容
doc.LoadFromFile(inputFile)

# 获取文档的第一个章节
section = doc.Sections.get_Item(0)

# 获取第一个表格
original_Table = section.Tables.get_Item(0)

# 克隆表格
copied_Table = original_Table.Clone()

# 定义要插入的文本列表
st = ["Spire.Presentation for Python", "Spire.Presentation for Python 是一个专业的演示文稿处理 API,与 PowerPoint 高度兼容。作为一个完全独立的 Python 开发组件,开发人员可以使用 Spire.Presentation for Python 来高效地创建、编辑、转换和保存 PowerPoint 演示文稿,无需安装 Microsoft PowerPoint。"]
# 获取复制表格的最后一行
lastRow = copied_Table.Rows[copied_Table.Rows.Count - 1]

# 初始化计数器
i = 0

# 遍历最后一行的单元格
while i < lastRow.Cells.Count - 1:
    # 将文本插入到单元格中
lastRow.Cells[i].Paragraphs[0].Text = st[i]

    # 计数器加1
i += 1

# 将复制的表格添加到文档中
section.Tables.Add(copied_Table)

# 保存修改后的文档到输出文件
doc.SaveToFile(outputFile, FileFormat.Docx)

# 关闭文档对象
doc.Close()

Python 复制 Word 表格中行或列

申请临时 License

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。

分页符是一种标记,用于将文档或电子表格的内容分成多个页面以供打印或显示。这个功能可以用来调整文档的页面布局,确保每个页面包含适当的信息。通过适当地放置分页符,您还可以确保在打印时以更好的格式和布局呈现您的文档。本文将介绍如何使用 Spire.XLS for Python 在 Python 中插入或删除 Excel 文档中的分页符。

安装 Spire.XLS for Python

本教程需要 Spire.XLS for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 Windows 中。

pip install Spire.XLS

如果您不确定如何安装,请参考此教程: 如何在 Windows 中安装 Spire.XLS for Python

Python 在 Excel 中插入水平分页符

Spire.XLS for Python 支持通过调用 Worksheet.HPageBreaks.Add(CellRange) 方法将水平分页符插入到指定的单元格范围。以下是详细步骤。

  • Python
from spire.xls import *
from spire.xls.common import *

# 创建一个新的工作簿对象
workbook = Workbook()

# 从文件中加载Excel文件
workbook.LoadFromFile("示例1.xlsx")

# 获取工作簿的第一个工作表
sheet = workbook.Worksheets[0]

# 将水平分页符插入指定的单元格区域
sheet.HPageBreaks.Add(sheet.Range["A10"])
sheet.HPageBreaks.Add(sheet.Range["A19"])

# 设置工作表的视图模式为预览模式
sheet.ViewMode = ViewMode.Preview

# 将修改后的工作簿保存到新的Excel文档,使用Excel 2016版本格式进行保存
workbook.SaveToFile("插入水平分页符.xlsx", ExcelVersion.Version2016)

# 释放工作簿资源
workbook.Dispose()

Python 在 Excel 中插入或删除分页符

Python 在 Excel 中插入垂直分页符

Spire.XLS for Python 还支持通过调用 Worksheet.VPageBreaks.Add(CellRange) 方法将垂直分页符插入到指定的单元格范围。以下是详细步骤。

  • Python
from spire.xls import *
from spire.xls.common import *

# 创建一个新的工作簿对象 
workbook = Workbook()

# 从文件中加载Excel文件
workbook.LoadFromFile("示例2.xlsx")

# 获取工作簿的第一个工作表
sheet = workbook.Worksheets[0]

# 将垂直分页符插入指定的单元格区域
sheet.VPageBreaks.Add(sheet.Range["D1"])
sheet.VPageBreaks.Add(sheet.Range["G1"])

# 设置工作表的视图模式为预览模式
sheet.ViewMode = ViewMode.Preview

# 将修改后的工作簿保存到新的Excel文档,使用Excel 2016版本格式进行保存
workbook.SaveToFile("插入垂直分页符.xlsx", ExcelVersion.Version2016)

# 释放工作簿资源
workbook.Dispose()

Python 在 Excel 中插入或删除分页符

Python 在 Excel 中删除水平分页符

如果您想从 Excel 中移除水平分页符,可以调用 Worksheet.HPageBreaks.RemoveAt() 或者 Worksheet.HPageBreaks.Clear() 方法。以下是详细步骤。

  • Python
from spire.xls import *
from spire.xls.common import *

# 创建一个新的工作簿对象
workbook = Workbook()

# 从文件中加载Excel文件
workbook.LoadFromFile("水平分页符.xlsx")

# 获取工作簿的第一个工作表
sheet = workbook.Worksheets[0]

# 移除所有的水平分页符
#sheet.HPageBreaks.Clear()

# 移除第一个水平分页符
sheet.HPageBreaks.RemoveAt(0)

# 设置工作表的视图模式为预览模式
sheet.ViewMode = ViewMode.Preview

# 将修改后的工作簿保存到新的Excel文档,使用Excel 2016版本格式进行保存
workbook.SaveToFile("移除水平分页符.xlsx", ExcelVersion.Version2016)

# 释放工作簿资源
workbook.Dispose()

Python 在 Excel 中插入或删除分页符

Python 在 Excel 中删除垂直分页符

如果您想从 Excel 中移除垂直分页符,可以调用 Worksheet.VPageBreaks.RemoveAt() 或者 Worksheet.VPageBreaks.Clear() 方法。以下是详细步骤。

  • Python
from spire.xls import *
from spire.xls.common import *

# 创建一个新的工作簿对象
workbook = Workbook()

# 从文件中加载Excel文件
workbook.LoadFromFile("垂直分页符.xlsx")

# 获取工作簿的第一个工作表
sheet = workbook.Worksheets[0]

# 移除所有的垂直分页符
#sheet.VPageBreaks.Clear()

# 移除第一个垂直分页符
sheet.VPageBreaks.RemoveAt(0)

# 设置工作表的视图模式为预览模式
sheet.ViewMode = ViewMode.Preview

# 将修改后的工作簿保存到新的Excel文档,使用Excel 2016版本格式进行保存
workbook.SaveToFile("移除垂直分页符.xlsx", ExcelVersion.Version2016)

# 释放工作簿资源
workbook.Dispose()

Python 在 Excel 中插入或删除分页符

申请临时 License

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。

数据验证是 Excel 中一种强大的功能,它可以控制输入到单元格的数据类型和范围。数据验证的主要目的是确保 Excel 单元格或单元格范围中输入的数据准确无误,以防止数据错误和不一致性的发生。通过设定特定的数据输入条件,数据验证功能能够有效地保证数据的准确性。这有助于我们在数据分析、报告生成和决策制定过程中获得准确可靠的结果。本文将介绍如何使用 Python 和 Spire.XLS for Python 在 Excel 中添加或删除数据验证。

安装 Spire.XLS for Python

此教程需要 Spire.XLS for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 Windows 中。

pip install Spire.XLS

如果您不确定如何安装,请参考:如何在 Windows 中安装 Spire.XLS for Python

Python 在 Excel 中添加各种类型的数据验证

Spire.XLS for Python 提供了 DataValidation 类来处理特定单元格或单元格范围中的数据验证。通过使用 DataValidation 对象下的属性,你可以指定验证类型、公式、比较运算符等。以下是使用 Spire.XLS for Python 向 Excel 单元格添加数据验证的步骤:

  • Python
from spire.xls import *
from spire.xls.common import *

# 创建一个Workbook对象
workbook = Workbook()

# 获取第一个工作表
sheet = workbook.Worksheets[0]

# 在单元格中插入文本
sheet.Range["B2"].Text = "数字验证:"
sheet.Range["B4"].Text = "日期验证:"
sheet.Range["B6"].Text = "文本长度验证:"
sheet.Range["B8"].Text = "列表验证:"
sheet.Range["B10"].Text = "时间验证:"

# 向C2添加数字验证
rangeNumber = sheet.Range["C2"]
rangeNumber.DataValidation.AllowType = CellDataType.Integer
rangeNumber.DataValidation.CompareOperator = ValidationComparisonOperator.Between
rangeNumber.DataValidation.Formula1 = "1"
rangeNumber.DataValidation.Formula2 = "10"
rangeNumber.DataValidation.InputMessage = "输入1到10之间的数字"
rangeNumber.Style.KnownColor = ExcelColors.Gray25Percent

# 向C4添加日期验证
rangeDate = sheet.Range["C4"]
rangeDate.DataValidation.AllowType = CellDataType.Date
rangeDate.DataValidation.CompareOperator = ValidationComparisonOperator.Between
rangeDate.DataValidation.Formula1 = "2022/01/01"
rangeDate.DataValidation.Formula2 = "2022/12/31"
rangeDate.DataValidation.InputMessage = "输入2022/01/01到2022/12/31之间的日期"
rangeDate.Style.KnownColor = ExcelColors.Gray25Percent

# 向C6添加文本长度验证
rangeTextLength = sheet.Range["C6"]
rangeTextLength.DataValidation.AllowType = CellDataType.TextLength
rangeTextLength.DataValidation.CompareOperator = ValidationComparisonOperator.LessOrEqual
rangeTextLength.DataValidation.Formula1 = "5"
rangeTextLength.DataValidation.InputMessage = "输入小于5个字符的文本"
rangeTextLength.Style.KnownColor = ExcelColors.Gray25Percent

# 向C8应用列表验证
rangeList = sheet.Range["C8"]
rangeList.DataValidation.Values = ["美国", "加拿大", "英国", "德国"]
rangeList.DataValidation.IsSuppressDropDownArrow = False
rangeList.DataValidation.InputMessage = "从列表中选择一个项目"
rangeList.Style.KnownColor = ExcelColors.Gray25Percent

# 向C10应用时间验证
rangeTime = sheet.Range["C10"]
rangeTime.DataValidation.AllowType = CellDataType.Time
rangeTime.DataValidation.CompareOperator = ValidationComparisonOperator.Between
rangeTime.DataValidation.Formula1 = "9:00"
rangeTime.DataValidation.Formula2 = "12:00"
rangeTime.DataValidation.InputMessage = "输入9:00到12:00之间的时间"
rangeTime.Style.KnownColor = ExcelColors.Gray25Percent

# Set the widths of column 2 and column 3
sheet.Columns[1].ColumnWidth = 12
sheet.Columns[2].ColumnWidth = 20

# 将工作簿保存到文件
workbook.SaveToFile("添加数据验证.xlsx", ExcelVersion.Version2013)

Python 在 Excel 中添加或删除数据验证

Python 删除 Excel 中的数据验证

要从 Excel 工作表中删除数据验证,你可以使用 Worksheet.DVTable.Remove(list rectangles) 方法。该方法接受一个 list 参数,用于指定要删除数据验证的单元格或单元格范围。以下是详细的步骤:

  • Python
from spire.xls import *
from spire.xls.common import *

# 创建一个Workbook对象
workbook = Workbook()

# 加载一个示例Excel文件
workbook.LoadFromFile("添加数据验证.xlsx")

# 获取第一个工作表
worksheet = workbook.Worksheets[0]

# 创建一个矩形列表,用于指定要移除数据验证的单元格或单元格范围
rects = []
rects.append(Rectangle.FromLTRB(0, 0, 2, 9))

# 从选定的单元格中移除数据验证
worksheet.DVTable.Remove(rects)

# 将工作簿保存到一个Excel文件中
workbook.SaveToFile("删除数据验证.xlsx")

Python 在 Excel 中添加或删除数据验证

申请临时 License

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。

Python 图片转 PDF 教程

在日常的文档管理或自动化处理中,将图片批量转换为 PDF 是一项非常实用的操作。这样做不仅能更好地整理和归档图片资料,还能方便文件的统一分享与长期保存。通过将多种图片格式合并到同一个 PDF 文件中,用户可以更高效地管理和分发视觉内容。

本文将介绍如何使用 Spire.PDF for Python 和 Python 将图片转换为 PDF,涵盖 PNG、JPEG、TIFF 和 SVG等多种图片格式。文章将结合详细的说明和完整的代码示例,帮助了解该库在图片处理与 PDF 生成方面的高效与灵活性。

目录

一、为什么要将图片转换为 PDF?

PDF 因其良好的可移植性、安全性以及跨设备显示的一致性而广受欢迎。将图片转换为 PDF 具有以下优势:

  • 质量保真:PDF 会保留图片分辨率,不会降低清晰度。
  • 便于分享:多个图片可以合并为一个 PDF 文件,简化分发流程。
  • 文档标准化:转换为 PDF 可确保兼容各种文档管理系统。

无论是用于归档扫描文档,还是整理和展示图像作品集,将图片转换为 PDF 都能大幅提升使用体验与管理效率。

二、了解 Spire.PDF:Python 图片转 PDF 库

Spire.PDF for Python 是一个功能全面的 PDF 处理库,支持创建、操作和转换 PDF 文件。其主要功能包括:

  • 支持多种图片格式(PNG、JPEG、BMP、SVG 等)
  • 灵活的页面自定义功能(尺寸、边距、方向)
  • 支持批量处理与多图合并
  • 支持高级功能,如给PDF添加水印、加密等

安装命令如下:

pip install Spire.PDF

三、将 PNG 或 JPEG 转换为 PDF

3.1 生成与图片尺寸相同的 PDF

要在不改变原始尺寸的情况下将 PNG 或 JPEG 图片转换为 PDF,首先需创建一个 PdfDocument 对象,并将其页面边距设置为 0,以确保图片完全填满页面。

接着,读取图片并获取其尺寸,再根据图片宽高创建匹配的页面,最后将图片绘制到页面上并保存为 PDF 文件。该方法能保证像素级精确转换,无失真。

示例代码:

from spire.pdf.common import *
from spire.pdf import *

# 创建 PdfDocument 对象
document = PdfDocument()

# 将页面边距设为 0
document.PageSettings.SetMargins(0.0)

# 加载图片文件
image = PdfImage.FromFile("Robot.jpg")
    
# 获取图片宽高
imageWidth = image.PhysicalDimension.Width
imageHeight = image.PhysicalDimension.Height

# 添加与图片尺寸相同的页面
page = document.Pages.Add(SizeF(imageWidth, imageHeight))

# 在页面 (0,0) 位置绘制图片
page.Canvas.DrawImage(image, 0.0, 0.0)
      
# 保存为 PDF 文件
document.SaveToFile("output/单图转PDF.pdf")

# 释放资源
document.Dispose()

输出结果:
生成的 PDF 文件与原图片大小完全一致。

Python PNG 或 JPEG 图片 转 PDF并保留尺寸

3.2 自定义 PDF 布局与图片位置

若需要自定义 PDF 页面大小或调整图片位置,只需在代码中稍作修改。以下示例将页面设置为 A4 大小,并通过计算使图片居中显示。

示例代码:

from spire.pdf.common import *
from spire.pdf import *

# 创建 PdfDocument 对象
document = PdfDocument()

# 设置页面边距为 5
document.PageSettings.SetMargins(5.0)

# 定义页面大小(A4 或自定义)
document.PageSettings.Size = PdfPageSize.A4()

# 添加页面
page = document.Pages.Add()

# 加载图片
image = PdfImage.FromFile("Robot.jpg")

# 获取图片宽高
imageWidth = image.PhysicalDimension.Width
imageHeight = image.PhysicalDimension.Height

# 计算图片居中位置
x = (page.GetClientSize().Width - imageWidth) / 2
y = (page.GetClientSize().Height - imageHeight) / 2 

# 绘制图片
page.Canvas.DrawImage(image, x, y, imageWidth, imageHeight)

# 保存为 PDF
document.SaveToFile("output/单图转自定义PDF.pdf")

# 释放资源
document.Dispose()

输出结果:
图片将以居中方式显示在 A4 页面中。

Python PNG 或 JPEG 图片转 PDF时自定义图片位置和页面大小

四、将多页 TIFF 转换为 PDF

TIFF 格式常用于高分辨率图像,例如扫描文件或医学影像。
由于 Spire.PDF 不直接支持 TIFF 文件,因此可以借助 Python Imaging Library (PIL) 来处理多帧图像。

安装命令如下:

pip install Pillow

使用 PIL 可以逐帧读取 TIFF 图像并临时保存为 PNG,然后将其绘制到 PDF 中。每一帧对应 PDF 的一页,从而保留原始图像质量。

示例代码:

from spire.pdf.common import *
from spire.pdf import *
from PIL import Image
import io

# 创建 PdfDocument 对象
document = PdfDocument()

# 设置页面边距为 0
document.PageSettings.SetMargins(0.0)

# 加载 TIFF 图片
tiff_image = Image.open("TIFF.tiff")

# 遍历每一帧
for i in range(tiff_image.n_frames):
    tiff_image.seek(i)
    frame_image = tiff_image.copy()
    frame_image.save(f"temp/output_frame_{i}.png")
    
    image = PdfImage.FromFile(f"temp/output_frame_{i}.png")
    imageWidth = image.PhysicalDimension.Width
    imageHeight = image.PhysicalDimension.Height

    page = document.Pages.Add(SizeF(imageWidth, imageHeight))
    page.Canvas.DrawImage(image, 0.0, 0.0)

# 保存为 PDF
document.SaveToFile("Output/Tiff转Pdf.pdf", FileFormat.PDF)
document.Dispose()

输出结果:
每一帧 TIFF 图像均转换为 PDF 的独立页面。

Python TIFF 转 PDF

五、将可缩放的 SVG 转换为 PDF

SVG 是一种矢量图格式,具有可缩放且不失真的特性,非常适合网页和印刷设计。
通过 Spire.PDF,可以直接加载并转换 SVG 文件为 PDF,过程简洁高效。

示例代码:

from spire.pdf.common import *
from spire.pdf import *

# 创建 PdfDocument 对象
document = PdfDocument()

# 加载 SVG 文件
document.LoadFromSvg("SVG.svg")

# 保存为 PDF 文件
document.SaveToFile("output/Svg转Pdf.pdf", FileFormat.PDF)

# 释放资源
document.Dispose()

提示:
若需要将多个 SVG 文件合并为一个 PDF,可分别转换后再合并生成的 PDF 文档。可参考文章:如何在 Python 中合并 PDF 文档。

输出结果:
SVG 文件被成功转换为 PDF,保持原有清晰度与比例。

Python SVG 转 PDF

六、合并多张图片为一个 PDF

该方法通过遍历指定文件夹中的所有图片,为每张图片创建相应的 PDF 页面,并保持其原始尺寸,避免失真。

示例代码:

from spire.pdf.common import *
from spire.pdf import *
import os

# 创建 PdfDocument 对象
doc = PdfDocument()
doc.PageSettings.SetMargins(0.0)

# 指定图片所在文件夹
path = "C:\\Users\\Administrator\\Desktop\\Images\\"
files = os.listdir(path)

# 遍历文件夹中的图片
for root, dirs, files in os.walk(path):
    for file in files:
        image = PdfImage.FromFile(os.path.join(root, file))
        width = image.PhysicalDimension.Width
        height = image.PhysicalDimension.Height
        page = doc.Pages.Add(SizeF(width, height))
        page.Canvas.DrawImage(image, 0.0, 0.0, width, height)
      
# 保存为 PDF
doc.SaveToFile("output/多图转PDF.pdf")
doc.Dispose()

输出结果:
文件夹内的所有图片被合并为一个 PDF 文档,每张图片占据一页。

Python 批量转换一个文件夹下的多张图片 为 PDF

七、结论

使用 Spire.PDF for Python 将图片转换为 PDF 十分简便。无论是单张图片转换、自定义布局、还是批量合并多图,该库都提供了高效的解决方案。只需几行代码,即可生成高质量 PDF 文件,大幅提升文档管理效率。

八、常见问题解答(FAQs)

Q1:Spire.PDF 是否支持批量转换图片?

A1: 支持。可遍历目录,将多张图片合并为单个 PDF,或分别转换为多个 PDF 文件。

Q2:Spire.PDF 支持哪些图片格式?

A2: 支持 PNG、JPEG、BMP、SVG 等多种常见格式,适用于不同场景。

Q3:可以自定义 PDF 布局吗?

A3: 当然。用户可以自定义页面尺寸、边距及图片位置,以实现理想的排版效果。

Q4:转换图片为 PDF 会降低画质吗?

A4: 不会。使用 Spire.PDF 的默认设置时,图片数据会以原始分辨率嵌入 PDF,不会进行压缩。

获取免费许可证

若希望在无评估限制的情况下体验 Spire.PDF for Python 的全部功能,可该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。 30 天免费试用许可证。

Spire.Barcode for Java 5.1.3 已发布。本次更新新增支持在二维码中间添加图片的功能。此外,该版本还修复了垂直方向的条形码识别失败的问题。详情请阅读以下内容。

新功能:

问题修复:


获取Spire.Barcode for Java 5.1.3请点击:

https://www.e-iceblue.cn/Downloads/Spire-Barcode-JAVA.html