关于用.NET操作Office文档的问题,很简单却很难搞掂

老龙友 2009-05-19 09:57:38
我们有一个系统,要根据用户的需要,随时从一批模板中选出其中一个,然后向其中填入一些数据,再打印出来

这批模板其实就是普通的word文档,只不过采用了XML方式另存。

我现在发现的情况是:

若使用XMLdocument方式访问,访问速度非常快,上百个文档几乎十几秒就可以遍历一次
若使用Microsoft.Office.Interop.Word方式访问,则访问速度非常慢,比XML方式慢至少十倍,一个文档几乎要5~6秒才能打开

但是:
1. 用XMLdocument方式,很难控制文档内容,比如我要把某个单元格的内容全部替换为另外的内容,这时用XML的节点控制方式很难控制
具体表现是有时一段表面看连续的文字在XML中却经常被分割成几个节点,且我对WORD XML的格式含义很难理解

2. 用Interop.Word则可以非常轻松地控制文档内容
用cell.range.text = "XXX" 就可以了,代码极其简单


怎样才能又速度快,控制又方便呢?难道鱼和熊掌真的不可得兼吗?
还是我的方法有问题?

我现在的问题是:
1. 是不是我用XMLdocument方式的操作方法有问题,若我要查找、替换word文档中某个单元格的内容,或设置其格式,最简单的方法是什么?
2. 以上都是基于Office 2003的,用Office 2007,听说是OPEN XML的格式,是否会有什么帮助?我对Office 2007的文档控制不太了解,网上资料也很少,请高手指教!

...全文
96 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复

13,189

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 分析与设计
社区管理员
  • 分析与设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧