InfoQ

新闻

使用命令行操作Office文档

作者 Jonathan Allen译者 张海龙 发布于 2008年6月26日 下午9时57分

社区
.NET
主题
脚本
标签
PowerShell,
OpenXML

2006年发布的.NET 3.0中,已经含有了对Open XML类型ZIP文件的基本支持。尽管其本身不是很有用,但它却是最近发布的Open XML SDK的基础。这个SDK公布了一组可操作Office文档的强类型类。

其后不久,PowerTools for Open XML就发 布了。该开源项目添加了一组PowserShell的命令集合,以允许在命令行中对Open XML进行操作。它是以Open XML SDK和.NET 3.0为基础的,用户无须安装MS Office或使用繁琐的COM操作,这一点对于Office从来就不能在服务端应用程序上正常工作来讲很重要。

下面是第一个版本中所支持的命令列表。

  • Accept-OpenXmlChange:接受文档中所有文本变更的跟踪元素。
  • Add-OpenXmlContent:向字处理文档中的指定部分插入一条自定义标记。
  • Add-OpenXmlDigitalSignature:向字处理文档中插入一个新的数字签名。
  • Add-OpenXmlDocumentIndex:生成字处理文档的索引。
  • Add-OpenXmlDocumentTOA:生成字处理文档的引用索引(TOA)。
  • Add-OpenXmlDocumentTOC:生成字处理文档的内容索引(TOC)。
  • Add-OpenXmlDocumentTOF:生成字处理文档的图表索引(TOF)。
  • Add-OpenXmlPicture:向OpenXML文档中插入表格。
  • Export-OpenXmlSpreadsheet:为管道化对象创建表格处理文档。
  • Export-OpenXmlToHtml:将字处理文档输出为HTML文档。
  • Export-OpenXmlWordprocessing:根据文本创建一个新的字处理文档
  • Get-OpenXmlBackground:抽取字处理文档中的背景信息。
  • Get-OpenXmlComment:抽取字处理文档中所有的注解。
  • Get-OpenXmlCustomXmlData:从文档中获取自定义XML部分。
  • Get-OpenXmlDigitalSignature:获取当前字处理文档中现有数字签名的信息。
  • Get-OpenXmlDocument:创建OpenXML文档对象。
  • Get-OpenXmlFooter:读取字处理文档中的页脚信息。
  • Get-OpenXmlHeader:读取字处理文档中的页眉信息。
  • Get-OpenXmlStyle:读取字处理文档中的风格定义。
  • Get-OpenXmlTheme:获取字处理文档中的场景内容。
  • Get-OpenXmlWatermark:获取字处理文档中的水印文本。
  • Lock-OpenXmlDocument:锁定一个或多个字处理文档。
  • Remove-OpenXmlComment:从字处理文档中移动注解。
  • Remove-OpenXmlDigitalSignature:从字处理文档中移除数据签名。
  • Set-OpenXmlBackground:为字处理文档设置背景颜色或图片。
  • Set-OpenXmlContentFormat:为字处理文档设置段落格式或运行格式。
  • Set-OpenXmlContentStyle:为字处理文档设置段落风格或运行风格。
  • Set-OpenXmlCustomXmlData:在字处理文档中设置自定义XML部分的内容。
  • Set-OpenXmlFooter:为字处理文档设置页脚。
  • Set-OpenXmlHeader:为字处理文档设置页眉。
  • Set-OpenXmlStyle:为字处理文档设置风格库。
  • Set-OpenXmlTheme:为字处理文档设置场景。
  • Set-OpenXmlWatermark:在字处理文档中添加水印。
查看英文原文Manipulate Office Documents from the Command Line

相关赞助商

InfoQ中文站.NET社区,关注.NET和微软的其他企业开发解决方案,通过新闻、文章、视频访谈和演讲以及迷你书等为中国.NET社区提供一流资讯。

没有回复

回复

独家内容

从卓越工程角度看微软中国开发团队的成长

开发团队的成长离不开优秀的人才,简捷有效的流程和高效率工具这三个卓越工程系统中的重要因素。本文作者从这三个因素分析了微软中国开发团队是如何“从优秀到卓越”的。

利用Ruby简化你的Java测试

本文是Productive Java with Ruby系列文章的第一篇,我将从单元测试这个话题开始,让Java的开发人员能够在实际工作中利用Ruby提高工作效率。

与赵进聊SaaS

InfoQ中文站有幸与阿里软件的首席架构师赵进在一起探讨了SaaS的相关话题,包括SOA和ASP与SaaS的异同、云计算、SaaS的前景、它的关键技术、技术瓶颈等等。

在ESB中选择路由还是编配?

在这篇文章中,Adrien Louis和Marc Dutoo在一个典型的ESB场景中讨论了编配和路由的区别和优缺点。他们讨论了几种连接服务的方法,从使用如自定义路由这样的低级别方法,到使用如工作流和编配这样面向业务的高级别方式,并总结说不存在“一边倒”的解决方案。

分布式系统中的一致性和可用性

本文是根据7月26日InfoQ中文站在杭州举行的QClub活动(第三期)后半程小组讨论总结而成。主要内容包括如何在SOA系统中实现服务编排,如何保证分布式系统中的一致性和可用性,以及如何在实施SOA的过程中控制接口的粒度等。

虚拟化导论

人们很容易想当然的以为虚拟化技术仅仅应用于服务器。而在现实中,虚拟化这一苏醒的概念正被运用于各个层面,其中包括网络,存储以及应用基础架构。在这篇导论中,InfoQ将深入每个方面,详尽向您描述虚拟化技术的运用以及其优点与不足。

用户故事估算技巧

作为开发者,同时也是ThoughtWorks的咨询师,Jay Fields总结了自己估算用户故事的有效技巧。

InfoQ案例研究:纳斯达克市场回放

在这篇案例研究中,InfoQ对Adobe AIR和Amazon的简单存储服务(Simple Storage Service ,S3)在NASDAQ市场回放程序(NASDAQ Market Replay)中的应用进行了详细的分析。