zoukankan
html css js c++ java
C#提取Word中的内容并添加到另一人word中(http://blog.eworks.net.cn/147018/articles/7340.html)
using
System;
using
System.Web;
using
System.Text;
using
System.Data;
using
System.Web.UI;
using
System.IO;
using
System.Reflection;
using
System.Collections;
using
System.Runtime.InteropServices;
using
Microsoft.Office.Interop.Word;
namespace
test
{
/**/
///
<summary>
///
WordFile 的摘要说明。
///
</summary>
public
class
WordFile
{
public
WordFile()
{
//
//
TODO: 在此处添加构造函数逻辑
//
}
/**/
///
<summary>
///
生成word文档
///
</summary>
///
<param name="template">
模版文件路径
</param>
///
<param name="ht">
书签与内容
</param>
///
<param name="filename">
新文件路径
</param>
public
void
CreateWord(
string
template,
object
filename)
{
Microsoft.Office.Interop.Word.Application wordApp
=
new
Microsoft.Office.Interop.Word.ApplicationClass();
object
missing
=
Type.Missing;
Microsoft.Office.Interop.Word.Document doc
=
OpenDoc(template,
ref
wordApp);
try
{
Microsoft.Office.Interop.Word.Document hdoc
=
OpenDoc(
"
c:\\test\\test.doc
"
,
ref
wordApp);
object
start
=
hdoc.Content.Start;
object
end
=
hdoc.Content.End;
Microsoft.Office.Interop.Word.Range rng
=
hdoc.Range(
ref
start,
ref
end);
rng.Select();
Hashtable ht
=
new
Hashtable();
ht.Add(
"
test
"
,rng.Text);
System.Collections.IDictionaryEnumerator et
=
ht.GetEnumerator();
//
doc.Range(ref start,ref end).Select();
//
doc.Range rng=doc.Content;
//
rng.Select();
/**/
/*
doc.Paragraphs[1].Range.InsertParagraphBefore();
Microsoft.Office.Tools.Word.Bookmark bookmark1 =
doc.Controls.AddBookmark(doc.Paragraphs[1].Range,
"bookmark1");
string FileName = "C:\\Sales.doc";
object ConfirmConversions = false;
object Link = false;
object Attachment = false;
bookmark1.InsertFile(FileName, ref missing, ref ConfirmConversions,
ref Link, ref Attachment);
*/
/**/
//////
while
(et.MoveNext())
{
foreach
(Microsoft.Office.Interop.Word.Bookmark BM
in
doc.Bookmarks)
{
object
oMissing
=
System.Reflection.Missing.Value;
if
(BM.Name
==
et.Key.ToString())
{
BM.Select();
//
查找书签
string
[] arr
=
et.Value.ToString().Split(
'
|
'
);
int
i
=
arr.Length;
if
(arr.Length
==
1
)
{
if
(et.Value.ToString()
==
""
)
{
BM.Range.Text
=
"
无记录
"
;
}
else
{
BM.Range.Text
=
et.Value.ToString();
//
替换书签中的内容
}
}
else
//
连接图片
{
BM.Range.InlineShapes.AddPicture(arr[
1
].ToString(),
ref
oMissing,
ref
oMissing,
ref
oMissing);
}
break
;
}
}
}
}
catch
(System.Exception ee)
{
string
ff
=
ee.ToString();
ff
=
ff;
}
doc.SaveAs(
ref
filename,
ref
missing,
ref
missing,
ref
missing,
ref
missing,
ref
missing,
ref
missing,
ref
missing,
ref
missing,
ref
missing,
ref
missing,
ref
missing,
ref
missing,
ref
missing,
ref
missing,
ref
missing);
doc.Close(
ref
missing,
ref
missing,
ref
missing);
}
/**/
////////////////////////////////////////////////////////////////////////////////////
//////////////////
内部函数
////////////////////////////////////////////////////////////////////////////////////
///
<summary>
///
返回doc对象
///
</summary>
///
<param name="strDocPath">
模版文件路径
</param>
///
<param name="wordApp">
word应用程序
</param>
///
<param name="flag"></param>
///
<returns></returns>
private
Microsoft.Office.Interop.Word.Document OpenDoc(
string
strDocPath,
ref
Microsoft.Office.Interop.Word.Application wordApp)
{
if
(
!
File.Exists(strDocPath))
{
return
null
;
}
object
fileName
=
(
object
)strDocPath;
object
isVisible
=
Type.Missing;
object
readOnly
=
Type.Missing;
object
missing
=
Type.Missing;
wordApp.Visible
=
false
;
Microsoft.Office.Interop.Word.Document doc
=
null
;
try
{
doc
=
wordApp.Documents.Open(
ref
fileName,
ref
missing,
ref
readOnly,
ref
missing,
ref
missing,
ref
missing,
ref
missing,
ref
missing,
ref
missing,
ref
missing,
ref
missing,
ref
isVisible,
ref
missing,
ref
missing,
ref
missing,
ref
missing);
return
doc;
}
catch
(System.Exception e)
{
throw
new
Exception(e.Message);
}
}
}
}
查看全文
相关阅读:
CSS Friendly Control Adapters CSSFriendly.dll
2008秋季计算机软件基础未交实验报告名单
About NeatHtml™ Brettle.Web.NeatHtml.dll
What is DotNetOpenMail DotNetOpenMail.dll
What is the simplest way to distribute a .NET COM server to any platform?
页面压缩 Enabling Gzip and Deflate HTTP Compression in ASP.NET pages(转)
[算法分析]计数排序
[置顶] EJDesktop开源项目
继承初体验
[置顶] 基于stm32f103zet6之UC/OS_II的学习1(初步移植OS点灯大法)
原文地址:https://www.cnblogs.com/sunheyubo/p/995254.html
最新文章
将不确定变为确定~MVC3的ValidateInput属性失灵了
基础才是重中之重~值类型的初始值
爱上MVC3系列~将公用的模块提到PartialView
爱上MVC3系列~无刷新验证码
2013年新的开始,每周至少要写一篇博客!
Java Web Start 简介
JFrame 刷新问题
分治法解选择问题
java中Icon ,imageIcon ,image 区别
java Jbutton常用操作
热门文章
java 一个Icon接口实现的程序
Eclipse同时显示两个编辑窗口
欧拉函数
筛法求素数
分治法求最大最小元素
About Apache log4net log4net.dll
About the NeatUpload™ ASP.NET Component Brettle.Web.NeatUpload.dll
JanRain OpenID Janrain.OpenId.dll
Lucene.Net Lucene.Net.dll
Meta Data Extractor in C# MetaDataExtractor.dll
Copyright © 2011-2022 走看看