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

Spire.Cloud 纯前端文档控件

形状是一种非常有用的工具,可以将原始数据转化为视觉上吸引人且信息丰富的表现形式。通过在 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 提供的 Worksheet.PrstGeomShapes.AddPrstGeomShape() 方法,你可以向 Excel 工作表中添加多种类型的形状,包括线条、矩形、三角形和椭圆等。此外,你还可以对添加的形状进行自定义,例如向形状添加文本,选择纯色、渐变色或图片来填充形状,还可以为形状设置阴影样式。以下是详细步骤:

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

# 创建Workbook对象
workbook = Workbook()
# 获取第一个工作表
sheet = workbook.Worksheets[0]

# 向工作表添加一个三角形形状
triangle = sheet.PrstGeomShapes.AddPrstGeomShape(2, 2, 100, 100, PrstGeomShapeType.Triangle)
# 向形状添加文本
triangle.Text = "文本"
# 使用纯色填充三角形
triangle.Fill.ForeColor = Color.get_Yellow()
triangle.Fill.FillType = ShapeFillType.SolidColor

# 向工作表添加一个心形形状
heart = sheet.PrstGeomShapes.AddPrstGeomShape(2, 5, 100, 100, PrstGeomShapeType.Heart)
# 使用渐变色填充心形
heart.Fill.ForeColor = Color.get_Red()
heart.Fill.FillType = ShapeFillType.Gradient

# 向工作表添加一个默认颜色的箭头形状
arrow = sheet.PrstGeomShapes.AddPrstGeomShape(10, 2, 100, 100, PrstGeomShapeType.CurvedRightArrow)
# 设置箭头的阴影样式
arrow.Shadow.Angle = 90
arrow.Shadow.Distance = 10
arrow.Shadow.Size = 150
arrow.Shadow.Color = Color.get_Gray()
arrow.Shadow.Blur = 30
arrow.Shadow.Transparency = 1
arrow.Shadow.HasCustomStyle = True

# 向工作表添加一个云形状
cloud = sheet.PrstGeomShapes.AddPrstGeomShape(10, 5, 100, 100, PrstGeomShapeType.Cloud)
# 使用自定义图片填充云形状
cloud.Fill.CustomPicture(Image.FromFile("image.jpg"), "image.jpg")
cloud.Fill.FillType = ShapeFillType.Picture

# 保存结果文件
workbook.SaveToFile("插入形状.xlsx", ExcelVersion.Version2013)
workbook.Dispose()

Python 在 Excel 中插入或删除形状

Python 从 Excel 中删除形状

形状可以改善工作簿的视觉外观,但也会增加文件大小。删除不必要的形状有助于减小文件大小,使其更易管理、共享或存储。Spire.XLS for Python 提供了 Worksheet.PrstGeomShapes[index].Remove() 方法,用于从工作表中删除形状。具体步骤如下:

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

# 创建Workbook对象
workbook = Workbook()
# 加载Excel文件
workbook.LoadFromFile("插入形状.xlsx")

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

# 从工作表中移除第一个形状
sheet.PrstGeomShapes[0].Remove()

# 保存结果文件
workbook.SaveToFile("删除形状.xlsx", ExcelVersion.Version2013)
workbook.Dispose()

Python 在 Excel 中插入或删除形状

申请临时 License

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

在 PowerPoint 中,表格边框是指围绕表格及其单元格的可见线条。它们用于界定每个单元格的边界,使表格的结构和布局清晰可见。通过设置或修改表格边框,你可以自定义 PowerPoint 演示文稿中表格的外观。在本文中,我们将介绍如何使用 Python 和 Spire.Presentation for 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 表格边框

Spire.Presentation for Python 提供了 ITable.SetTableBorder() 方法,用于给 PowerPoint 中的特定表格设置边框。具体步骤如下:

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

# 创建 Presentation 对象
presentation = Presentation()
# 获取演示文稿的第一张幻灯片
slide = presentation.Slides[0]

# 指定表格的行数、列数和尺寸
widths = [100, 100, 100, 100, 100]
heights = [20, 20]

# 在第一张幻灯片上添加表格
table = slide.Shapes.AppendTable(100, 100, widths, heights)

# 为表格添加边框,并设置边框类型、宽度和颜色
table.SetTableBorder(TableBorderType.All, 1, Color.get_Blue())

# 保存结果演示文稿
presentation.SaveToFile("设置边框.pptx", FileFormat.Pptx2013)
presentation.Dispose()

Python 设置或移除 PowerPoint 表格边框

Python 移除 PowerPoint 表格边框

要移除表格的边框,您需要遍历表格中的单元格,然后移除每个单元格的边框。具体步骤如下:

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

# 创建 Presentation 对象
presentation = Presentation()
# 加载 PowerPoint 演示文稿
presentation.LoadFromFile("设置边框.pptx")

# 获取第一张幻灯片
slide = presentation.Slides[0]
# 获取幻灯片上的表格
table = slide.Shapes[0] if isinstance(slide.Shapes[0], ITable) else None

# 遍历表格中的行和单元格
for row in table.TableRows:
    for cell in row:
        # 通过将单元格的顶部、底部、左侧和右侧边框的填充类型设置为none,从每个单元格中移除边框
        cell.BorderTop.FillType = FillFormatType.none
        cell.BorderBottom.FillType = FillFormatType.none
        cell.BorderLeft.FillType = FillFormatType.none
        cell.BorderRight.FillType = FillFormatType.none                   

# 保存结果演示文稿
presentation.SaveToFile("移除边框.pptx", FileFormat.Pptx2013)
presentation.Dispose()

Python 设置或移除 PowerPoint 表格边框

申请临时 License

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

Spire.PDF 10.3.7 已发布。该版本优化了多个 TIFF 转 PDF 过程中内存消耗高的问题。此外,还修复了一系列其他已知问题,例如打印 PDF 时,程序抛出 "System.NullReferenceException" 异常的问题。详情请阅读以下内容。

问题修复:


获取 Spire.PDF 10.3.7 请点击:

https://www.e-iceblue.cn/Downloads/Spire-PDF-NET.html

Spire.XLS for Java 14.3.0 已发布。该版本在原有的 Spire.XLS for Java 产品基础上,增加了 XLSAI 功能。通过向 AI 大模型发送请求,可以在 AI 的帮助下实现文档计算、范围合并、图片生成、文件上传、提问以及翻译等功能。详情请阅读以下内容。

主要 AI 功能及对应的 API:

功能 API
文档计算 public String excelGenerate(List<CellRange> ranges)
合并范围 public String excelMerge(CellRange descRange, List<Cellrange> srcRanges, CellRange titleRange)
生成图片 public InputStream imageGenerate(String description)
生成指定尺寸的图片 public InputStream imageGenerate(String description, ImageGenerationModel model, ImageGenerationSize size)
上传文件 public String uploadFile(String fileName, InputStream stream)
上传 Workbook public String uploadWorkbook(Workbook workbook)
对文档进行提问 public String documentSearch(String question, String file_server_path, boolean enableHistory)
public String documentSearch(String question, String file_server_path, Map<String, String> options, boolean enableHistory)
搜索 public String search(String question, String language, boolean enableHistory)
翻译工作表 public String excelTranslate(List<Worksheet> srcWorksheets, String language, boolean translateSheetName)
翻译范围 public String excelTranslate(List<CellRange> srcRanges, String language)
填写 Excel 工作表 public String excelFill(CellRange dataRange, CellRange descRange, boolean containTitle, List<Integer> fillColumnIndexs)
public String excelFill(CellRange dataRange, CellRange descRange, boolean containTitle, List<Integer> fillColumnIndexs, List<String> keys)
提问 public String ask(String question, boolean enableHistory)
清除用户历史 public String resetUserHistory()
清除历史会话 public String resetChatHistory(String sessionid)
获取 Spire.XLS for Java 14.3.0 请点击:

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

Spire.PDF for Java 10.3.1 已发布。该版本增强了 OFD 到 PDF 的转换功能。此外,本次更新还修复了一些已知问题,如两次使用 setRowSpan() 抛 "StackOverflow" 异常的问题。详情请阅读以下内容。

问题修复:


获取 Spire.PDF for Java 10.3.1 请点击:

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

在 Word 文档中添加允许编辑区域的功能可以帮助用户指定特定部分供他人编辑,同时保护文档的其他部分免受意外修改。这对于协作文档、审阅和评论文档等情境非常有用。而移除允许编辑区域的功能则可以在不需要他人编辑特定部分时,将文档恢复为只读状态,确保文档内容的完整性和安全性。本文将介绍如何使用 Spire.Doc for .NET 在 C# 项目中添加和移除 Word 文档中的允许编辑区域。

安装 Spire.Doc for .NET

首先,您需要将 Spire.Doc for.NET 包含的 DLL 文件作为引用添加到您的 .NET 项目中。DLL 文件可以从此链接下载,也可以通过 NuGet 安装。

PM> Install-Package Spire.Doc

C# 在 Word 文档中添加允许编辑区域

添加 Word 文档中的允许编辑区域的步骤是在文档中插入权限开始 PermissionStart 对象和权限结束 PermissionEnd 对象来创建允许编辑的区域,并设置文档为只读保护模式,确保文档的内容在指定区域内可以被编辑,而其他部分则为只读状态。以下是详细的步骤:

  • C#
using Spire.Doc;
using Spire.Doc.Documents;

namespace SpireDocDemo
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 创建一个新的文档对象
            Document document = new Document();

            // 从指定路径加载文档
            document.LoadFromFile("示例1.docx");

            // 获取文档的第一个节
            Section section = document.Sections[0];

            // 创建一个权限开始对象
            PermissionStart permissionStart = new PermissionStart(document, "restricted1");

            // 创建一个权限结束对象
            PermissionEnd permissionEnd = new PermissionEnd(document, "restricted1");

            // 获取节中的第二个段落
            Paragraph paragraph = section.Paragraphs[1];

            // 在段落的开头插入权限开始对象
            paragraph.ChildObjects.Insert(0, permissionStart);

            // 在段落的末尾添加权限结束对象
            paragraph.ChildObjects.Add(permissionEnd);

            // 设置文档为只读保护
            document.Protect(ProtectionType.AllowOnlyReading, "123456");

            // 将修改后的文档保存到指定路径
            document.SaveToFile("添加允许编辑的区域.docx", FileFormat.Docx);

            // 关闭文档及释放文档对象占用的资源
            document.Close();
            document.Dispose();
        }
    }
}

C# 在 Word 文档中添加和移除允许编辑区域

C# 从 Word 文档中移除允许编辑区域

移除 Word 文档中的允许编辑区域的关键步骤是遍历文档的每个段落,移除其中的权限开始 PermissionStart 对象和权限结束 PermissionEnd 对象。以下是详细的步骤:

  • C#
using Spire.Doc;
using Spire.Doc.Documents;

namespace SpireDocDemo
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 创建一个新的文档对象
            Document document = new Document();

            // 从指定路径加载文档
            document.LoadFromFile("示例2.docx");

            // 遍历文档的节
            for (int a = 0; a < document.Sections.Count; a++)
            {
                // 获取当前节的正文部分
                Body body = document.Sections[a].Body;

                // 遍历正文部分的子对象
                for (int i = 0; i < body.ChildObjects.Count; i++)
                {
                    // 判断子对象是否为段落
                    if (body.ChildObjects[i] is Paragraph)
                    {
                        // 获取当前段落
                        Paragraph paragraph = (Paragraph)body.ChildObjects[i];

                        // 从段落的最后一个子对象开始向前遍历
                        for (int j = paragraph.ChildObjects.Count - 1; j >= 0; j--)
                        {
                            // 获取当前子对象
                            DocumentObject documentObject = paragraph.ChildObjects[j];

                            // 如果当前子对象是权限开始对象,移除该子对象
                            if (documentObject.DocumentObjectType == DocumentObjectType.PermissionStart)
                            {
                                paragraph.ChildObjects.RemoveAt(j);
                            }
                            // 如果当前子对象是权限结束对象,移除该子对象
                            else if (documentObject.DocumentObjectType == DocumentObjectType.PermissionEnd)
                            {
                                paragraph.ChildObjects.RemoveAt(j);
                            }
                        }
                    }
                }
            }

            // 将修改后的文档保存到指定路径
            document.SaveToFile("移除允许编辑的区域.docx", FileFormat.Docx);

            // 关闭文档及释放文档对象占用的资源
            document.Close();
            document.Dispose();
        }
    }
}

C# 在 Word 文档中添加和移除允许编辑区域

申请临时 License

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

Spire.Doc for Java 12.3.1 已发布。本次更新带来多项新功能,如支持在在更新域时设置域属性以及支持判断文档是否存在数字签名。此外,该版本还优化了转换 Word 到 OFD 后结果文件的大小。详情请阅读以下内容。

问题修复:

新功能:


获取 Spire.Doc for Java 12.3.1 请点击:

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

段落间距和行间距是 Microsoft Word 中重要的格式设置选项,它们对文档的视觉呈现和可读性有着重要的影响。段落间距决定了各段落之间的垂直距离,在视觉上营造出明显的分隔效果,使每个段落都能清晰地独立开来。而行间距则决定了段落内各行之间的垂直距离,直接影响到文本的紧凑程度和可读性。通过设置适当的段落间距和行间距,你可以轻松创建出视觉上吸引人且易于阅读的文档。本文将介绍如何使用 Python 和 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 提供了 Paragraph.Format.BeforeSpacing 和 Paragraph.Format.AfterSpacing 属性,用于设置特定段落的段前和段后间距。具体步骤如下:

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

# 创建Document类的对象
document = Document()
# 向文档添加一个节
section = document.AddSection()

# 向节添加两个段落
para1 = section.AddParagraph()
para1.Format.HorizontalAlignment = HorizontalAlignment.Center
textRange1 = para1.AppendText("Spire.Doc for Python")
textRange1.CharacterFormat.TextColor = Color.get_Blue()
textRange1.CharacterFormat.FontName = "宋体"
textRange1.CharacterFormat.FontSize = 15

para2 = section.AddParagraph()
textRange2 = para2.AppendText("Spire.Doc for Python 是一款专业的 Python Word 开发组件,开发人员可以使用它轻松将 Word 文档的创建、读取、编辑和转换等功能集成到自己的 Python 应用程序中。作为一款完全独立的组件,Spire.Doc for Python 的运行环境无需安装 Microsoft Word。同时兼容大部分国产操作系统,能够在中标麒麟和中科方德等国产操作系统中正常运行。")
textRange2.CharacterFormat.FontName = "宋体"
textRange2.CharacterFormat.FontSize = 12

# 设置第一个段落的段后间距
para1.Format.AfterAutoSpacing = False
para1.Format.AfterSpacing = 10

# 设置第二个段落的段前和段后间距
para2.Format.BeforeAutoSpacing = False
para2.Format.BeforeSpacing = 10
para2.Format.AfterAutoSpacing = False
para2.Format.AfterSpacing = 10

# 保存结果文件
document.SaveToFile("段落间距.docx", FileFormat.Docx2013)
document.Close()

Python 在 Word 中设置段落间距和行间距

Python 在 Word 中设置行间距

要设置段落中各行之间的间距,可以使用 Paragraph.Format.LineSpacing 属性。具体步骤如下:

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

# 创建Document类的对象
document = Document()
# 添加一个节
section = document.AddSection()

# 向节添加一个段落
para = section.AddParagraph()
textRange = para.AppendText("Spire.Doc for Python 能执行多种 Word 文档处理任务,包括生成、读取、和转换 Word 文档,插入图片,添加页眉和页脚,创建表格,添加表单域和邮件合并域,添加书签,添加文本和图片水印,设置背景颜色和背景图片,添加脚注和尾注,添加超链接,加密和解密 Word 文档,添加批注,添加形状等。")
textRange.CharacterFormat.FontName = "宋体"
textRange.CharacterFormat.FontSize = 12

# 设置行间距规则
para.Format.LineSpacingRule = LineSpacingRule.Multiple
# 设置行间距值(行间距规则"Multiple"与值18将行间距设置为"1.5倍行距",值12将行间距设置为"单倍行距")
para.Format.LineSpacing = 18

# 保存结果文件
document.SaveToFile("行间距.docx", FileFormat.Docx2013)
document.Close()

Python 在 Word 中设置段落间距和行间距

申请临时 License

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

移动和删除工作表是 Excel 中两个很重要的功能,它们能够帮助我们更好地组织和管理工作簿中的数据。通过移动工作表,我们可以按照特定的逻辑来排列工作表,或者将相关的信息放在一起以便更好地进行比较或分析。而删除工作表则可以帮助我们清理不需要或者多余的表格,使工作簿更加简洁和清晰。在本文中,我们将介绍如何使用 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 提供的 Worksheet.MoveWorksheet() 方法,轻松将 Excel 文件中的特定工作表移动到另一个位置。详细步骤如下:

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

# 创建Workbook类的对象
workbook = Workbook()
# 加载示例Excel文件
workbook.LoadFromFile("示例.xlsx")

# 通过索引获取文件中的特定工作表
sheet = workbook.Worksheets[0]
# 或者通过名称获取特定工作表
# sheet = workbook.Worksheets["Sheet1"]

# 将工作表移动到文件中第3个位置
sheet.MoveWorksheet(2)

# 保存结果文件
workbook.SaveToFile("移动工作表.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

Python 在 Excel 中移动或删除工作表

Python 在 Excel 中删除工作表

你可以使用 Spire.XLS for Python 提供的 Workbook.Worksheets.RemoveAt() 或 Workbook.Worksheets.Remove() 方法从 Excel 文件中删除特定工作表。详细步骤如下:

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

# 创建Workbook类的对象
workbook = Workbook()
# 加载示例Excel文件
workbook.LoadFromFile("示例.xlsx")

# 通过索引从文件中删除特定工作表
workbook.Worksheets.RemoveAt(0)

# 或者通过名称获取特定工作表,然后删除它
# worksheet = workbook.Worksheets["Sheet1"]
# workbook.Worksheets.Remove(worksheet)

# 保存结果文件
workbook.SaveToFile("删除工作表.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

Python 在 Excel 中移动或删除工作表

申请临时 License

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

Spire.Presentation 9.3.0 已发布。该版本在原有的 Spire.Presentation 产品基础上,增加了 PresentationAI 功能。通过向 AI 大模型发送请求,可以在 AI 的帮助下实现文本润色、翻译、文本总结、文本续写、演示文稿生成以及图片生成等功能。详情请阅读以下内容。

主要 AI 功能及对应的 API:

功能 API
文本润色 public string Polish(IShape shape, string language);
翻译 public string Translate(ISlide slide, string language);
总结 public string Summarize(IShape shape, string language);
幻灯片生成 public Presentation Generate(string describe, string language, bool genareteBackGroundImage);
提问 public string Ask(string question, bool enableHistory = false);
文档搜索 public string DocumentSearch(string question, string file_server_path, bool enableHistory = false);
图片生成 public Stream ImageGenerate(string description);
获取 Spire.Presentationt 9.3.0 请点击:

https://www.e-iceblue.cn/Downloads/Spire-Presentation-NET.html