比对两个Word文件内容是否一致的C#解决办法
- using System;
- using System.Windows.Forms;
- using System.Diagnostics;
- using Microsoft.Office.Interop.Word;
- namespace WindowsFormsApplication1
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- }
- private void button1_Click(object sender, EventArgs e)
- {
- //加载之前首先判断系统中是否包含WORD.EXE进程,如果包含,将其杀死,然后再进行查看
- KillProcess();
- MessageBox.Show(CompareWordFile(@"C:\1.DOC", @"C:\2.DOC").ToString());
- }
- public bool CompareWordFile(String source, String target)
- {
- object filename = source;
- var targetFileName = target;
- object missing = System.Reflection.Missing.Value;
- object readonlyobj = false;
- var app = new ApplicationClass { Visible = false };
- var doc = app.Documents.Open(ref filename, ref missing, ref readonlyobj, ref missing,
- ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
- doc.TrackRevisions = true;
- doc.ShowRevisions = true;
- doc.PrintRevisions = true;
- object comparetarget = WdCompareTarget.wdCompareTargetNew;
- doc.Compare(targetFileName, ref missing, ref comparetarget, ref missing, ref missing, ref missing, ref missing, ref missing);
- var changeCount = app.ActiveDocument.Revisions.Count;
- Object saveChanges = WdSaveOptions.wdDoNotSaveChanges;
- doc.Close(ref saveChanges, ref missing, ref missing);
- app.Quit(ref saveChanges, ref missing, ref missing);
- return changeCount == ;
- }
- public void KillProcess()
- {
- const string processName = "WINWORD";
- var process = Process.GetProcessesByName(processName);
- try
- {
- foreach (var p in process)
- {
- p.Kill();
- }
- }
- catch (Exception)
- {
- MessageBox.Show("请先关闭系统中的WINWORD.EXE进程!", "文件对比失败", MessageBoxButtons.OK);
- return;
- }
- }
- }
- }
比对两个Word文件内容是否一致的C#解决办法的更多相关文章
- [转载]java在线比较两个word文件
一.项目背景 开发文档管理系统或OA办公系统的时候,实现在线处理word文档的功能比较容易,但是也经常会有客户提出文档版本管理的需求,这就需要同时在线打开两个word文件,对比两个不同版本的word文 ...
- [原创]java在线比较两个word文件
一.项目背景 开发文档管理系统或OA办公系统的时候,实现在线处理word文档的功能比较容易,但是也经常会有客户提出文档版本管理的需求,这就需要同时在线打开两个word文件,对比两个不同版本的word文 ...
- 如何在浏览器网页中显示word文件内容
如何在浏览器网页中显示word文件内容 把word文件读到byte[]中,再Response.OutputStream.Write(bytes)到客户端去 Page_Load事件中写: //FileS ...
- 如何比较两个txt文件内容的细微差别
如何比较两个txt文件内容的细微差别 https://jingyan.baidu.com/article/19020a0a1dd04a529c284272.html 听语音 | 浏览:3500 | 更 ...
- 用c#读取文件内容中文是乱码的解决方法:
用c#读取文件内容中文是乱码的解决方法: //方法1: StreamReader din = new StreamReader(@"C:\1.txt", System.Text.E ...
- 关于压缩jar包时提示*.*没有这个文件或目录的问题以及解决办法:
关于压缩jar包时提示.没有这个文件或目录的问题以及解决办法: 问题描述: 我在打包jar时,CMD中进入到包的上一层目录. 在命令提示符中输入 提示如下: 从提示中可知没有找到我们想要打包的clas ...
- Asp.Net保存session的三种方法 (Dll文件更新导致session丢失的解决办法)
1. InProc模式(默认值):asp.net将session保存到当前进程中,这种方式最快,但是不能多台服务器共享session,且会话状态数据容易丢失. <sessionState mod ...
- combogrid翻页后保持显示内容为配置的textField解决办法
easyui的combogrid当配置pagination为true进行分页时,当datagrid加载其他数据页,和上一次选中的valueField不匹配时,会导致combogrid直接显示value ...
- SecureCRT SSH Linux中不显示彩色 字体颜色、文件夹和文件显示的颜色区别开解决办法
SecureCRT SSH Linux中不显示彩色 字体颜色.文件夹和文件显示的颜色区别开解决办法 实验环境: 刚开始我的情况是这样的:带颜色的显示不出来,然后还能看到,此处有内容,猜测是Secure ...
随机推荐
- Uncaught (in promise) DOMException: The play() request was interrupted by a call to pause().
解决方法: audio.load() let playPromise = audio.play() if (playPromise !== undefined) { playPromise.then( ...
- node.js 与java 的主要的区别是什么
node.js 与java都是服务器语言,但是两者存在很大区别:(1)Node.js比Java更快 :node.js开发快,运行的效率也算比较高,但是如果项目大了就容易乱,而且javascript不是 ...
- bug report
ubuntu 11.10添加eth0:1后重启网卡不显示 eth0:1 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=324306
- TCP ------ TCP三次握手(建立连接)及其相关内容
1.TCP客户端要连接到TCP服务器,需要经过三个过程: 以下是通过 Wireshark 抓取的三次握手数据包 → [SYN] Seq= Win= Len= MSS= → [SYN, ACK] Seq ...
- NOI2001 方程的解数
1735 方程的解数 http://codevs.cn/problem/1735/ 2001年NOI全国竞赛 时间限制: 5 s 空间限制: 64000 KB 题目描述 Descripti ...
- 「模板」 01 Trie实现平衡树功能
不想多说什么了.费空间,也不算太快,唯一的好处就是好写吧. #include <cstdio> #include <cstring> const int MAXN=100010 ...
- iOS 网络请求--- AFNetworing的使用
一.GET请求方式: //1.管理器 AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; ...
- Redis 键值数据类型及基本操作
到目前为止,Redis 支持的键值数据类型如下: 字符串(String) 哈希(Map) 列表(list) 集合(sets) 有序集合(sorted sets) 1. String 字符串类型 s ...
- bzoj 1705: [Usaco2007 Nov]Telephone Wire 架设电话线——dp
Description 最近,Farmer John的奶牛们越来越不满于牛棚里一塌糊涂的电话服务 于是,她们要求FJ把那些老旧的电话线换成性能更好的新电话线. 新的电话线架设在已有的N(2 <= ...
- Python eval 函数说明
eval(str [,globals [,locals ]]) -- 函数将字符串str当成有效Python表达式来求值,并返回计算结果. 例 : eval('3+4') ==> ...