(刚完成的,转载请注明出处,谢谢合作!)
要利用 Visual C# .NET 的自动化功能创建新的 Word 文档,请执行以下步骤:
-
- 启动 Microsoft Visual Studio 2010。在文件菜单上,单击新建,然后单击项目。在项目类型下,单击 Visual C# 项目,然后单击模板下的 Windows 控制台应用程序。
- 添加对 Microsoft Word 对象库的引用。为此,请按照下列步骤操作:
- 首先嘛,必须要有微软的word(开始在WPS上弄,不了解,费劲)
- 在项目菜单上,单击添加引用。
- 在 COM 选项卡上,找到 Microsoft Word 对象库,然后单击选择。(MIcrosoft Word 11.0 Object Library)类型库原理(8.3)
- 在添加引用对话框中单击确定,接受您的选择。如果系统提示您为选定的库生成包装,请单击是。
说明:write类,封装的是各种操作word的方法;mainclass类实现与数据库建立连接等
using System.Linq;
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Office.Interop.Word;
using Word = Microsoft.Office.Interop.Word;
using System.Reflection;
using System.Web;
using System.Data.SqlClient;
using System.Data;
using System.Text.RegularExpressions;
namespace last //这边需要换成自己的命名空间名
{
class Write
{
object oMissing = System.Reflection.Missing.Value;
//object oEndOfDoc = "\\endofdoc"; /* \endofdoc is a predefined bookmark */
//object oTemplate = "F:\\程序\\C#\\模板word\\word\\模板1.doc";
Word._Application oWord;
Word._Document oDoc;
//通过模板创建文档
public void start(object filepath)
{
//Start Word and create a new document.
killWinWordProcess();
oWord = new Word.Application();
oWord.Visible = true;//测试看效果为true,后台执行false
oDoc = oWord.Documents.Add(ref filepath, ref oMissing,
ref oMissing, ref oMissing);
}
//在书签处插入值
public bool InsertValue(string bookmark, string value)
{
object bkObj = bookmark;
if (oWord.ActiveDocument.Bookmarks.Exists(bookmark))
{
oWord.ActiveDocument.Bookmarks.get_Item(ref bkObj).Select();
oWord.Selection.TypeText(value);
return true;
}
return false;
}
// 杀掉winword.exe进程
public void killWinWordProcess()
{
System.Diagnostics.Process[] processes = System.Diagnostics.Process.GetProcessesByName("WINWORD");
foreach (System.Diagnostics.Process process in processes)
{
bool b = process.MainWindowTitle =&#