Web系统下Office文档的处理

在web环境中,我们经常遇到需要对Office文档进行各种各样的处理,如:格式转化、统计、修改等各种操作,如果使用Office的客户端对象模型直接处理,一般会遇到:效率低;服务器资源负载大等一系列问题,毕竟Office对象实现时主要针对的是客户端的使用而设计的,对于批量和大负载的处理自然效率欠佳。

一些常见的方案如下:

  • 基于格式解析的第三方方案,NPOI,POI.net(这个最初是apache的java实现的解析office文档的库),等;不过相对来说有的复杂文档转换时存在一定的问题
  • 基于OpenXML格式,使用OpenXML SDK处理:这个是官方的方案,和MS自己的格式当然兼容性很好,最主要的是速度快
  • Excel文件也可以基于OleDB使用数据访问的形式访问,这个的使用范围有限
  • 不过微软目前新的产品逐步的提供了Server端的解决方案,如Excel Service(Sharepoint 2007引入);Word Automation Service(Sharepoint 2010引入);使用这些方案在服务端处理很有效,不过授权受限,目前独立集成有些问题

office转换,doc批量转换docx

对于以前的office文档,如何转换为openxml格式的文档,MS提供了自己的工具包,可以高效的完成转换,这样在这个基础上我们可以基于OpenXML这个开放标准进行各种应用了

http://blogs.msdn.com/b/ericwhite/archive/2008/09/19/bulk-convert-doc-to-docx.aspx

 

关于OpenXML的相关资料参考

以下这个资料对于Openxml的规范、例子等各个方面有比较详细的叙述可以参考

OpenXML

http://openxmldeveloper.org/

http://openxmldeveloper.org/articles/OpenXMLsamples.aspx

Open XML Format SDK 2.0

Mastering Text in Open XML WordprocessingML Documents
http://msdn.microsoft.com/en-us/library/ff686712.aspx

Creating Documents by Using the Open XML Format SDK 2.0
http://msdn.microsoft.com/en-us/library/dd440953.aspx
http://msdn.microsoft.com/en-us/library/dd452407.aspx
http://msdn.microsoft.com/en-us/library/dd469465.aspx

Open XML Translator 格式转换

http://blogs.msdn.com/b/brian_jones/archive/2006/07/05/657510.aspx

http://openxmldeveloper.org/articles/OpenXMLsamples.aspx

http://blogs.msdn.com/b/brian_jones/archive/2010/02/26/open-xml-sdk-office-services-better-together.aspx
http://openxmldeveloper.org/archive/2010/03/16/8296.aspx

http://blogs.msdn.com/b/acoat/archive/2010/06/19/document-creation-and-conversion-with-the-openxml-sdk-and-sharepoint-2010-word-automation-services.aspx

http://blogs.msdn.com/b/dmahugh/archive/2007/11/13/open-xml-to-daisy-xml-translator.aspx

http://blogs.msdn.com/b/dmahugh/archive/2008/03/31/open-xml-resources-for-developers.aspx

http://blogs.msdn.com/b/brian_jones/archive/2009/01/28/traversing-in-the-open-xml-dom.aspx

http://blogs.technet.com/b/gray_knowlton/archive/2010/01/11/regarding-custom-xml-patch-distribution-and-availability.aspx
Regarding Custom XML Patch distribution and availability
http://social.msdn.microsoft.com/Forums/en-US/worddev/thread/10fe3eaa-d6c2-4763-aa84-e57164cec96d/

上一篇:MaxCompute(ODPS)上处理非结构化数据的Best Practice


下一篇:Flink1.7.2 Dataset 文件切片计算方式和切片数据读取源码分析