首先引入类库,Microsoft.Office.Interop.Word,然后进行编程。代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.Office.Interop.Word;

namespace WordTest
{
    public partial class Form1 : Form
    {
        object strFileName;
        Object Nothing;
        Microsoft.Office.Interop.Word.Application myWordApp = new Microsoft.Office.Interop.Word.ApplicationClass();
        Document myWordDoc;
        string strContent = "";

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            createWord();      
            //openWord();
        }

        private void createWord()
        {
            strFileName = System.Windows.Forms.Application.StartupPath + "test.doc";
            if (System.IO.File.Exists((string)strFileName))
                System.IO.File.Delete((string)strFileName);
            Object Nothing = System.Reflection.Missing.Value;
            myWordDoc = myWordApp.Documents.Add(ref Nothing, ref Nothing, ref Nothing, ref Nothing);

            #region 将数据库中读取得数据写入到word文件中

            strContent = "你好\n\n\r";
            myWordDoc.Paragraphs.Last.Range.Text = strContent;

            strContent = "这是测试程序";
            myWordDoc.Paragraphs.Last.Range.Text = strContent;

            #endregion

            //将WordDoc文档对象的内容保存为DOC文档
            myWordDoc.SaveAs(ref strFileName, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing);
            //关闭WordDoc文档对象
            myWordDoc.Close(ref Nothing, ref Nothing, ref Nothing);
            //关闭WordApp组件对象
            myWordApp.Quit(ref Nothing, ref Nothing, ref Nothing);

            this.richTextBox1.Text = strFileName + "\r\n" + "创建成功";

        }
        private void openWord()
        {
            fontDialog1.ShowDialog();
            System.Drawing.Font font = fontDialog1.Font;
            object filepath = "D:\\asp.docx";
            object oMissing = System.Reflection.Missing.Value;
            myWordDoc = myWordApp.Documents.Open(ref filepath, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
                ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
                ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);
            myWordDoc.Content.Font.Size = font.Size;
            myWordDoc.Content.Font.Name = font.Name;
            myWordDoc.Save();
            richTextBox1.Text = myWordDoc.Content.Text;
            myWordDoc.Close(ref oMissing, ref oMissing, ref oMissing);
            myWordApp.Quit(ref oMissing, ref oMissing, ref oMissing);
        }

}

posted @ 2009-10-13 12:58 汉城 阅读(98) 评论(0) 编辑

解决方法一:

控制面板-》管理工具-》组件服务-》计算机-》我的电脑-》DCom配置-》找到Microsoft Word文档

之后

单击属性打开此应用程序的属性对话框。?

2. 单击标识选项卡,然后选择交互式用户。

3.单击"安全"选项卡,分别在"启动和激活权限"和"访问权限"组中选中"自定义",然后

自定义->编辑->添加ASP.NET账户和IUSER_计算机名

* 这些帐户仅在计算机上安装有 IIS 的情况下才存在。

13. 确保允许每个用户访问,然后单击确定。

14. 单击确定关闭 DCOMCNFG。

解决方法二:

如果上述方法不能解决问题,就应该是权限问题,请尝试用下面的方法:

在web.config中使用身份模拟,在<system.web>节中加入?? <identity impersonate="true" userName="你的用户名" password="密码"/>

posted @ 2009-10-13 12:55 汉城 阅读(166) 评论(0) 编辑