WORD/EXCEL内容替换

最近,在做一个小项目时,需要用到Word/Excel(目前只针对Office2003)文档中内容的替换,在网上搜寻了一番,找到了一些解决方法,自己再整理了一下,记录出来与大家共享。

1、在项目的引用中添加WORD和EXCEL的COM引用:Microsoft.Word 11.0 Object Library和Microsoft.Excel 11.0 Object Library;

2、在文件的USING部分加入以下命名空间:

using Microsoft.Office.Core;
using Microsoft.Office.Interop.Word;
using Microsoft.Office.Interop.Excel;
using System.IO;
using System.Reflection;

3、定义WORD和EXCEL内容替换函数:

private void WordReplace(string filePath, string strOld, string strNew)
{
 Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.ApplicationClass();
 object nullobj = System.Reflection.Missing.Value;
 object file = filePath;
 Microsoft.Office.Interop.Word.Document doc = app.Documents.Open(
 ref file, ref nullobj, ref nullobj,
 ref nullobj, ref nullobj, ref nullobj,
 ref nullobj, ref nullobj, ref nullobj,
 ref nullobj, ref nullobj, ref nullobj,
 ref nullobj, ref nullobj, ref nullobj, ref nullobj);

 doc.Content.Text = doc.Content.Text.Replace(strOld, strNew);
 doc.Content.AutoFormat();
 Microsoft.Office.Interop.Word.Range range = null;
 doc.Close(ref nullobj, ref nullobj, ref nullobj);

 app.Quit(ref nullobj, ref nullobj, ref nullobj);
}

private void ExcelReplace(string filePath, string strOld, string strNew)
{
 Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.ApplicationClass();
 excel.Visible = false;

 string modelFile = filePath;  //文件名
 Workbook wb = excel.Workbooks._Open(modelFile, Missing.Value, Missing.Value, Missing.Value, Missing.Value
 , Missing.Value, Missing.Value, Missing.Value, Missing.Value
 , Missing.Value, Missing.Value, Missing.Value, Missing.Value);
 Worksheet xSheet = (Worksheet)wb.Sheets[1];
 int icount = wb.Sheets.Count;
 for (int i = 1; i <= icount; i++)
 {
  try
  {
   xSheet = (Worksheet)wb.Sheets[i];
   object what = strOld;  //查找字符串
   object retxt = strNew; //替换字符串
   xSheet.Cells.Replace(what, retxt, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
   }
   catch
   {}
  }
  wb.Save();
  NAR(xSheet);
  wb.Close(false, Missing.Value, Missing.Value);
  NAR(wb);
  excel.Quit();
  NAR(excel);
  System.GC.Collect();
}

private void NAR(object o)
{
 try
 {
  System.Runtime.InteropServices.Marshal.ReleaseComObject(o);//强制释放一个对象
 }
 catch
 {
 }
 finally
 {
  o = null;
 }
}

4、代码中直接调用这两个函数即可。

时间: 2024-10-30 01:58:58

WORD/EXCEL内容替换的相关文章

在Word 2007中设置键入内容替换所选文字

键入内容替换所选文字是指在Word文档中的内容被选中的同时输入新的文字时,新输入的内容将替换被选中的内容,相当于 改写的效果.取消该功能后,新输入的文字将插入到被选中内容的前面,相当于插入效果. 在Word2007文档中设置键入 内容替换所选文字的步骤如下所述: 第1步,打开Word2007文档窗口,依次单击"Office按钮"→"Word选项"按钮,如 图2012040227所示. 图2012040227 单击"Word选项"按钮 第2步,打开

在Word 2010中设置键入内容替换所选文字

键入内容替换所选文字是指在Word文档中的内容被选中的同时输入新的文字时,新输入的内容将替换被选中的内容,相当于 改写的效果.取消该功能后,新输入的文字将插入到被选中内容的前面,相当于插入效果. 在Word 2010文档中设置键入内容替换所选文字的步骤如下所述: 第1步,打开Word 2010文档窗口,依次单击"文件"→"选项"命令,如图2011122301所示. 图2011122301 单 击"选项"命令 第2步,打开"Word选项&

Word/Excel/PDF文件转换成HTML整理

项目开发过程中,需求涉及到了各种文档转换为HTML或者网页易显示格式,现在将实现方式整理如下: 一.使用Jacob转换Word,Excel为HTML "JACOB一个Java-COM中间件.通过这个组件你可以在Java应用程序中调用COM组件和Win32 libraries." 首先下载Jacob包,JDK1.5以上需要使用Jacob1.9版本(JDK1.6尚未测试),与先前的Jacob1.7差别不大 1.将压缩包解压后,Jacob.jar添加到Libraries中: 2.将Jacob

Excel怎么替换星号?

  在Excel中替换*星号,不是件容易的事情,因为,我们使用查找替换的办法,是不能直接替换掉*星号的;那么,如何才能正确的替换掉*星号呢? 1.看下表,该表的单元格中,都有*星号. 2.现在,我们使用特殊的办法,使用查找替换的方法,正确替换*星号.如下图,首先选中要替换的多个单元格,之后,执行菜单操作:"编辑"→"查找"; 3.弹出如下图的对话框! 4.上图中,在①位置中的查找内容框中,输入 ~* ,然后,在②位置那里,点击"全部替换"按钮,即

用Word的查找替换功能快速给文档分页

从论坛发现了一个很好的教程集,便复制存放在一个文档里,本想打印出来细细品味,但文档中各篇文章首位相接,没有分页,如此草率打印,也未见完美.我大致翻看了一遍,发现文章编排有一个共同规律:都是以"第+中文简体数字+篇"开头,形式如图1. 图1 文档中共有100多篇文章,如果手工分页,那是相当麻烦的.既然有规律,Word的"查找替换"就有用武之地了!下面便是用查找替换对各篇文章进行分页的具体步骤: 1.执行"编辑"→"替换",打开&

web在线编辑word,excel,pdf插件-----WebOffice 文档控件API

目    录       一.工作原理...5 1.1         开发流程...5 1.2         WEB页面调用控件:.6 二.接口说明...7 2.1         接口...7 2.1.1     AboutBox.7 2.1.2     AcceptAllRevisions.7 2.1.3     CloseDoc.7 2.1.4     DelLocalFile.8 2.1.5     GetDocumentObject.8 2.1.6     GetFieldValu

poi操作07版word,将图片替换为文本

问题描述 poi操作07版word,将图片替换为文本 poi操作07版word,将图片替换为文本,读取word里图片中的可选文字,利用可选文字里的内容得到值,再将图片替换成得到的值! 解决方案 编程操作Word 查找 替换 图片java/poi读取word,并替换word中的文本内容,向word中插入图片的操作

PHP实现仿百度文库,豆丁在线文档效果(word,excel,ppt转flash)_php技巧

本文实例讲述了PHP实现仿百度文库,豆丁在线文档效果.分享给大家供大家参考,具体如下: 由于项目要实现类似百度文库的功能,又是我一个人做的项目,所以就想到找免费的现成的来使用.在网上找到的都是一样的.如下: Flash Paper支持Office文档(.doc,.xls,.ppt)直接转换为PDF或SWF,速度很快,效果较好.可惜,Flash Paper V2.2后没有再更新了.安装Flash Paper后,可以直接使用命令调用FlashPrinter.exe,实现批量转换. 例如:C:\Fla

android打开pdf ppt word excel chm html text 文件的intent

以下代码未经测试.但是有我想找的,先贴过来,慢慢了解-- import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.net.Uri.Builder; import java.io.File; import android.content.Intent; //自定义android Intent类, //可用于获取打开以下文件的intent //PDF,PPT,