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);
}
}
}
}
查看全文
相关阅读:
[Unity] 如何通过 C# 代码控制角色动画的播放
[Unity] Unity粒子系统报错: Ensure Read/Write is enabled on the Particle System's Texture.
[Unity] Shader Graph Error 当前渲染管道与此主节点不兼容(The current render pipeline is not compatible with this master node)
[运维] 请求 nginx 出现 502 Bad Gateway 的解决方案!
[排错] SpringBoot 警告 Could not find acceptable representation
[理解] C++ 中的 源文件 和 头文件
[经验] 如何将 Java 项目发布到云服务器上并可以访问
均衡与竞争
指数退避算法
判断两个多项式是否为同一个方程
原文地址:https://www.cnblogs.com/sunheyubo/p/995254.html
最新文章
C#设计模式纵横谈视频教程推荐书目
Consul window使用笔记
docker 使用笔记
iTextSharp 使用笔记
C# Linq中比较字符串使用 Equals 为什么报错
WinForm 树形列表(多级) 可展开,可折叠
开发备忘录
AutoResetEvent 允许线程通过发信号互相通信之同步信号的使用
Typora的简单使用
StreamReader和StreamWriter 的使用
热门文章
C# 中internal关键字 转自 CSDN
简单的串口通讯Helper
文献笔记(二十)
文献笔记(十九)
文献笔记(十八)
文献笔记(十七)
文献笔记(十六)
给 Spring Boot 添加敏感字过滤功能
[Unity3D] 用 C# 代码控制重力方向
[Unity] Unity 读取 JSON 文件(编辑模式和打包后)
Copyright © 2011-2022 走看看