首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用OpenXML在Word 2007文档中添加内容控件

在Word 2007文档中添加内容控件,可以使用OpenXML SDK 2.0进行操作。以下是一个简单的示例代码,用于向Word文档中添加一个文本内容控件:

代码语言:csharp
复制
using System;
using System.IO;
using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;

namespace AddContentControl
{
    class Program
    {
        static void Main(string[] args)
        {
            string filePath = "path/to/your/word/document.docx";
            using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(filePath, true))
            {
                MainDocumentPart mainPart = wordDoc.MainDocumentPart;

                // 创建一个文本内容控件
                SdtBlock sdtBlock = new SdtBlock();

                // 添加一个文本内容控件的占位符
                SdtContentBlock sdtContent = new SdtContentBlock();
                Paragraph p = new Paragraph();
                Run r = new Run();
                Text t = new Text("这是一个文本内容控件");
                r.Append(t);
                p.Append(r);
                sdtContent.Append(p);

                // 添加一个文本内容控件的属性
                SdtProperties sdtProps = new SdtProperties();
                Tag tag = new Tag { Val = "text" };
                sdtProps.Append(tag);

                sdtBlock.Append(sdtProps);
                sdtBlock.Append(sdtContent);

                // 将文本内容控件添加到文档中
                mainPart.Document.Body.Append(sdtBlock);
            }
        }
    }
}

在这个示例中,我们首先打开Word文档,并获取其主文档部分。然后,我们创建一个文本内容控件,并添加一个占位符和属性。最后,我们将文本内容控件添加到文档中。

这个示例仅仅是一个简单的示例,实际上,OpenXML SDK 2.0提供了更多的功能和选项,可以用于创建和操作Word文档中的内容控件。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

word文档添加“原汁原味”代码

大侠可以关注FPGA技术江湖,“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。 今天给大侠带来word文档添加“原汁原味”代码,话不多说,上货。 ?...我们文档时,遇到最大的问题莫过于word文档添加代码了,通常有很多人就是直接从编辑器复制出代码,然后粘贴在word文档,这样不仅会丢失原来的排版,而且也会丢失关键字颜色,为了使自己文档的代码阅读时有原汁味的编辑器显示的风格...如下图,软件会自动给我们的代码添加行号了,如下图所示: ?...最后,我们就可以将代码粘贴到word文档,我们选中需要粘贴的代码部分,如我这里将行号为01~21的代码粘贴到文档来,先用鼠标选中这部分代码,然后点击菜单栏的“插件”选项,选择“NppExport”...然后,回到word文档来,按下ctrl + V就可以粘贴代码了,如下图所示: ? END

1.3K20

C# 使用openxml解析PPTX的文本内容

DocumentFormat.OpenXml用于加载解析pptx文档,FreeSpire.Doc用于解析pptx嵌入的doc文档内容,详见解析嵌入的doc的文本。...1、直接保存在slide*.xml文件的节点数据;2、以oleObject对象的形式存储word文档;3、以oleObject对象的形式存储bin文件。...接下来针对这三种情况分别分析如何解析获取内容。...对象slide*.xml文件记录形式如下图: progId的值为“Word.Document.8”表示嵌入的对象是Office 2007以前的数据格式,值为“Word.Document.12”表示嵌入的对象是...Office 2007以后的OOXML定义的数据格式直接通过DocumentFormat.OpenXml解析,需要注意的是解析word的段落需要用DocumentFormat.OpenXml.Wordprocessing.Paragraph

30510

C# dotnet 使用 OpenXml 解析 Word 文件

本文聊的 Word 是 docx 格式,这个格式遵循 ECAM 376 全球标准,使用的格式是 OpenXML 格式, 2013 微软开源了 OpenXml 解析库。...这个库里面包含了海量代码,可以使用 MB 计算的代码量,通过这个解析库,咱可以使用几行代码完成对 Word 文件的解析,从文件到内存模型 本文通过一个简单的 WPF 程序告诉大家如何解析,这个简单的 WPF..."UIElement_OnDragEnter"> WPF 通过设置 AllowDrop=”True” 就可以让控件支持接收拖放的文件 接着通过 NuGet...Word 文档,可以使用下面代码就可以输出 Word 文档里面的内容 using (FileStream fs = new FileStream(fileList[0], FileMode.Open...可以看到代码非常简单,但是如果想要将整个 Word文档内容解析出来,这个就复杂一些 代码放在 github 欢迎小伙伴访问

2.2K30

如何使用免费控件Word表格的数据导入到Excel

我通常使用MS Excel来存储和处理大量数据,但有时候经常会碰到一个问题—我需要的数据存储word表格,而不是Excel,这样处理起来非常麻烦,尤其是在数据比较庞大的时候, 这时我迫切地需要将...相信大家也碰到过同样的问题,下面我就给大家分享一下C#如何使用免费控件来实现这一功能。这里,我使用了两个免费API, DocX和Spire.Xls。 有需要的朋友可以下载使用。...下载地址: DocX:codeplex官网 Spire.Xls: E-iceblue官网 注意:创建项目后,需要添加这两个控件的相关.dll文件作为项目的引用。...以下是详细步骤: 首先我使用DocX API 来获取word表格的数据,然后将数据导入System.Data.DataTable对象。...代码片段: 步骤1:加载word文档; DocX document = DocX.Load("E:\\Program Files\\data.docx"); 步骤2:从文档获取表格。

4.3K10

dotnet OpenXML 简单聊聊 PPT 文本解析

本文将和小伙伴介绍 PPT 的文本存放的方式 PPT 的文本框也是形状,只是形状里面添加了特殊的设置。...而没有添加特殊设置的形状也可以添加文本, PPT 的文本使用 包含,这就是本文主要和大家介绍的内容 阅读本文,你将能大概了解如何开始入手 PPT 的文本解析,以及了解相应的工作量...DocumentFormat.OpenXml.Drawing 的内容意味着是 DrawingDL 的定义,也就是将是 Office 多个格式如 PPT 和 Word 等共同使用的定义,因此对 DrawingDL...因此连续的文本如果有相同的样式,那么就可以使用相同的一个文本属性 标准的文档将会在 的下方添加 段落信息,一个文本框会包含多个段落信息,大概的格式如下...第一点是收集这些属性上面, PPT 里面最简单的文本才会将所有的属性都添加上,而基本上的 PPT 文档里面是不会将所有的属性添加的,那么这些没有添加的属性使用的是默认属性?

1.1K10

使用ABAP编程实现对微软Office Word文档的操作

Office OpenXML 从微软 Office2007开始, 当我们新建一个word文档时,其扩展名从“.doc”变为了”.docx”,后者是基上遵循了一个开源的规范:Office openXML格式...将word文档的二进制内容传入方法cl_docx_document=>load_document,得到一个文档对象引用,然后就可以借助该对象引用调用各种方法了。...下图是get_data返回的内容的一个例子,可以看出是xml格式。 ? 3. 现在我们准备读取word文档的正文了。...Word文档里插入的图片的二进制内容当然也是可以读取出来的。使用方法:lo_image_parts->get_part返回。...同样的思路,微软Office 2007之后版本的其他格式的办公文档,比如Powerpoint和Excel等,均遵循Office OpenXML标准,因此将其后缀名改为.zip后同样可以看到大量xml和文件夹

60020

Excel实战技巧98:使用VBA工作表添加ActiveX控件

excelperfect 一些情形下,我们需要在工作表中使用ActiveX控件,这通常使用VBA来实现。...要使用VBA从控件工具箱(ActiveX控件添加控件,可以使用OLEObjects集合的Add方法。...图1 下面的代码用来工作表添加复选框: Sub RefreshList() Dim oCheck As OLEObject Dim rCell As Range, rRange As...接下来,确定数据范围后,第一列添加复选框并设置了一些属性值以方便以后操作。这里,有一些通用的适合于其他控件的属性,也有一些专属于复选框的属性。...图2 注意,你需要将上述代码关联到相应的控件或命令按钮以执行代码。 欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

5K10

如何使用ParamSpiderWeb文档搜索敏感参数

ParamSpider ParamSpider是一款功能强大的Web参数挖掘工具,广大研究人员可以利用ParamSpider来从Web文档的最深处挖掘出目标参数。...核心功能 针对给定的域名,从Web文档搜索相关参数; 针对给定的子域名,从Web文档搜索相关参数; 支持通过指定的扩展名扫描引入的外部URL地址; 以用户友好且清晰的方式存储扫描的输出结果; 无需与目标主机进行交互的情况下...,从Web文档挖掘参数; 工具安装&下载 注意:ParamSpider的正常使用需要在主机安装配置Python 3.7+环境。...注意:使用该工具之前,请确保本地主机配置好了Go环境。...paramspider.py --domain bugcrowd.com --exclude woff,css,js,png,svg,php,jpg --output bugcrowd.txt 注意事项:因为该工具将从Web文档数据爬取参数

3.6K40

使用ABAP编程实现对微软Office Word文档的操作

[1240] Office OpenXML 从微软 Office2007开始, 当我们新建一个word文档时,其扩展名从“.doc"变为了".docx",后者是基上遵循了一个开源的规范:Office openXML...将word文档的二进制内容传入方法cl_docx_document=>load_document,得到一个文档对象引用,然后就可以借助该对象引用调用各种方法了。...下图是get_data返回的内容的一个例子,可以看出是xml格式。 [1240] 3. 现在我们准备读取word文档的正文了。...Word文档里插入的图片的二进制内容当然也是可以读取出来的。使用方法:lo_image_parts->get_part返回。...同样的思路,微软Office 2007之后版本的其他格式的办公文档,比如Powerpoint和Excel等,均遵循Office OpenXML标准,因此将其后缀名改为.zip后同样可以看到大量xml和文件夹

77420

Office 文档解析 文档格式和协议

本文讨论的 Office 文档指的是 Office 2007 及以后的 PPTX 和 xlsx 等格式的文件。 Office 2007 之前使用的不公开标准的二进制格式定义。... Office 2007 之后的文档格式使用 OOXML 国际标准定义,本文将告诉大家这个标准的协议和格式 Office 2007 之后的 Office 文档格式采用的是 OOXML 标准格式。... Office 文件,各种 Markup Language 定义的内容就作为 XML 存储 Part 而 Relationship 是一种特殊的 Part 文件,它描述了各 Part 之间的依赖关系..., PPT 各种数据的描述) 和 WML (Wordprocessing Markup Language docx, Word 数据的描述) 和 SML (Spreadsheet Markup Language...Markup Language, 描述了文档属性,音视频,图片,文档主题等内容,它被所有Office文件使用) 等 这将会对应在 OpenXML SDK 的各个命名空间里面 OfficeTalk: Essentials

2.8K10

Office Open XML学习(1)-创建excel文档,并向单元格插入字符串

自从Open XML出现后,这种情况很大程度上得到了改观,Open XML已经逐渐成为一种办公文档的通用国际标准了(该标准基于XML格式),详情见百度百科 http://baike.baidu.com...FamilyID=c6e744e5-36e9-45f5-8d8c-331df206e0d0 安装完以后,就能直接使用了,下面的代码演示了,如何创建一个Excel文档,并创建一个工作表"博客园",最后该工作表的单元格...A1插入字符串 using System; using System.IO; using System.Linq; using System.Windows.Forms; using DocumentFormat.OpenXml...">sharedStringTablePart内容 /// 如果要添加的字符串已经存在,则直接返回该字符串的索引 private...mfr=true http://msdn.microsoft.com/zh-cn/library/bb448854.aspx 另外codeplex上还有一个利用openxml对excel/word常用操作进行封装的开源项目

2.5K100

C# dotnet WPF 使用 OpenXml 解析 Excel 文件

2013 微软开源了 OpenXml 解析库,微软的 Excel 文档使用文档格式就是国际规范的 OpenXml 格式。这个格式有很多版本,详细请看百度。...因为表格文稿使用的是 OpenXml .NET 开发可以非常简单将 Excel 文档进行解析,大概只需要两句话 本文通过一个简单的 WPF 程序告诉大家如何解析,这个简单的 WPF 程序简单到仅有一个按钮...,点击按钮时自动解析 Excel 文档内容OpenXML 能做什么?...其实可以做的东西很多,例如在 WPF 或 UWP 或 Xamarin 等里面使用 OpenXML 解析读取 Excel 文件内容,读取 PPT 和 Word文档内容,只要符合 OpenXML 格式就能进行读取...代码放在 github 欢迎小伙伴访问 如何添加断点请看 VisualStudio 断点调试详解 除了使用 OpenXML SDK 这个免费的库之外,还可以使用 EPPlus 这个收费或 LGPL 的库

1.1K10

老牌开源Office操作组件NPOI现已支持.NET Core

我只能跟你说使用 NPOI 你就可以没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写操作,十分方便。...另外NPOI的原作者的GitHub地址是:https://github.com/tonyqus/npoi 里面也有详尽的描述 如何使用 通过Nuget直接添加NPOI的最新引用即可使用 Install-Package...文件夹名称 示例描述 HSSF 有关Excel 97-2003格式的示例(* .xls) XSSF 有关Excel 2007+格式的示例(* .xlsx) XWPF 有关Word 2007+格式(* ....docx)的示例 POIFS 关于OLE2文档/ ActiveX文档的示例 OOXML 有关OpenXML文件的示例 第三方博客 使用NPOI - C#和WEB API导出到Excel 使用NPOI....NET构建漂亮的XLS文档 如何使用NPOI阅读Excel 2007文档 如何使用NPOI创建Excel电子表格 NPOI 2.0 - 将Excel XLS文档转换为HTML格式 NPOI与Excel

1K30

dotnet OpenXML 聊聊文本段落对齐方式

Word 和 PPT 的文本段落对齐规则是相同的,对齐的规则比较多,本文将一一告诉大家 文本的段落对齐,需要设置给段落属性上, OpenXML SDK 里,使用 TextAlignmentTypeValues...此 OpenXML SDK 工具 我放在 CSDN 下载 ,如果你想要但是不想从 CSDN 下载,还请发邮件给我 ECMA 376 文档,可以从 20.1.10.58 章找到具体的定义 我新建一个空...OpenXML SDK 工具 生成的 测试效果如下: Justified 两端对齐, OpenXML 文档里面写入的字符串是 just 的值。...(分散对齐)-百度经验 word两端对齐与分散对齐的区别_Office教程网 两端分散对齐怎么设置_Word文档两端对齐.分散对齐如何设置_如说的博客-CSDN博客 office2016Word文档字数不同段落如何两端都对齐...-百度经验 Word文档左右两端对齐有什么用,怎么调整 TextAlignmentTypeValues 枚举 (DocumentFormat.OpenXml.Drawing) 本文会经常更新,

1.4K30

dotnet OpenXML 解析 PPT 页面元素文档格式

本文告诉大家 OpenXML 里面的 PPT 页面 Slide 的元素文档格式 是否小伙伴还记得如何使用 OpenXML SDK 获取一份 PPTX 文件的某一个页面?...如果不记得,请看 C# dotnet 使用 OpenXml 解析 PPT 文件 如下是一个简单的 PPTX 的 Slide 页面 ? 大概的主结构如下 ?...shape 添加断点就可以看到断点进入 VS 的帮助下,其实咱可以不理会PPT文档本身,直接使用 OpenXML 解析完成的值,这样做的优势在于不需要频繁去找文档。...PPT 里面所有文本都是形状,只是文本框是有趣的形状,而其他的形状大部分都是可以添加文本的。...但 PPT 使用的文本和 Word 的文本是等价的,而 Word 的文本小伙伴都知道有多复杂了…… 因此 PPT 解析里面的神坑其实就是文本的解析部分,关于文本解析我写了一些博客 换句话说如果完成了

98420

Office OpenXml SDK 使用 Fallback 图片显示 Ole 元素

写一个 WinForms 程序用来读取 Word 里面的图片显示,解析 Word 等 Office 文档,会看到一些 ole object 元素,而有些 ole object 会有 Fallback...或者我用插件做了一个复杂的元素,没有插件的设备如何让用户看到? Office 的一个做法是通过 Fallback 元素,在里面放一张图片 因为我的 Word 文档写了很多逗比的话,就不开放给大家。...除了 Word PPT 解析上也差不多,解析 PPT 里面的 Ole 元素,使用 Fallback 元素显示图片是本文的例子。...这份文档也不能给大家,我不觉得你没事干会看本文,应该是你遇到了 Office 解析 ole 元素如何显示或 oleobj 如何转换等问题会看本文 ,也就是你其实有一份 Office 文档了 我将这个文档放在...上面如何打开 PPT 请看 C# dotnet 使用 OpenXml 解析 PPT 文件 我假定只有一个页面,因为我传入的PPT文件就只有一个页面,这个需要根据你的实际代码更改

96020

dotnet Open XML 如何判断一份 Office 文档是否被加密

拿到一份 PPTX 文档,或一份 Word 的 docx 文档如何判断这份文档是被加密的 Office 里,对 pptx 文档或 docx 或 xlsx 文档的加密是将文档加密为 OLE 格式,...也就是和 Office 2003 的 doc 等文档格式相同的 Ole object 格式 没加密时,是使用 OPC 格式,也就是 zip 压缩文档。...但是加密之后,文档格式使用 OLE Object 格式,就不能用 OpenXML SDK 读取。...因为 OpenXML SDK 将使用压缩文档读取方法读取,这个方法不能读取 OLE 文件 如果使用 OpenXML SDK 读取一个加密的 Office 文档,那么将会在读取的时候抛出 OpenXmlPackageException...,小伙伴可以随意使用 最简单的方法就是通过 OpenXML SDK 读一下文档,如果抛出 OpenXmlPackageException 那么也许就是被加密了 如果想要通过读取 OLE 判断的方法,需要先在项目里面安装

1.3K10

Office 365开发概述及生态环境介绍(一)

除了界面上看到的变化,其实Office 2007的另外一个重要创新,是重新定义Office文档的格式——除了继续支持Office 2003及早期版本的二进制文件格式之外,还有一种全新的基于XML的文件格式...(通常在默认的文件扩展名后面添加一个x以示区分,如Word 2003的格式是doc,而Word 2007虽然依然支持doc,但更推荐用户使用docx文件格式)。...这个后来被正式命名为OpenXML的技术,微软经过实践后将其贡献给ECMA,并被ISO和IEC等组织认定为开发文档格式的国际标准。...如果对OpenXML的标准感兴趣,请参考https://en.wikipedia.org/wiki/Office_Open_XML 开发的层面,Office 2007也有新的变化。...针对.NET开发人员,微软还专门提供了OpenXML SDK,支持从自定义程序通过OpenXML的标准操作Office文档(不要求本地安装有Office)。 ?

2.9K20
领券