English
 电子信箱
 加入收藏

  威盾防火墙 >> 新闻中心 >> 威盾新闻 >> vs2005操作word2003!

 

vs2005操作word2003!

威盾防火墙 2014-12-12

 

(1)首先添加引用

 

(2)

using Microsoft.Office.Interop.Word;

----------------------

.cs 代码:

private void writeword(string id)
    {

        try
        {

            appWord = new Microsoft.Office.Interop.Word.ApplicationClass();
            appWord.Visible = false;
            object objTrue = true;
            object objFalse = false;
            object objTemplate = Server.MapPath("myword.dot");//模板路径
           
            object objDocType = WdDocumentType.wdTypeDocument;
            doc = (DocumentClass)appWord.Documents.Add(ref objTemplate, ref objFalse, ref objDocType,
           ref objTrue);
            //第一步生成word文档
            //定义书签变量
            object obj01 = "aaa";
            object obj02 = "bbb";
            ......

            //第二步 读取数据,填充数据集
            DataTable dt = cr.GeAll(id);

            //第三步 给书签赋值
            //给书签赋值
            doc.Bookmarks.get_Item(ref obj01).Range.Text = dt.Rows[0]["a"].ToString();
            doc.Bookmarks.get_Item(ref obj02).Range.Text = dt.Rows[0]["b"].ToString();
            .......
 
            //第四步 生成word
            object filename = Server.MapPath("~") + "//" + DateTime.Now.ToShortDateString().ToString() +

"myword.doc";
            name = DateTime.Now.ToShortDateString().ToString() + "myword.doc";
            object miss = System.Reflection.Missing.Value;
            doc.SaveAs(ref filename, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref

miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss);
            object missingValue = Type.Missing;
            object doNotSaveChanges = WdSaveOptions.wdDoNotSaveChanges;
            doc.Close(ref doNotSaveChanges, ref missingValue, ref missingValue);
            appWord.Application.Quit(ref miss, ref miss, ref miss);
            doc = null;
            appWord = null;

        }
        catch (System.Exception ex)
        {
            //捕捉异常,如果出现异常则清空实例,退出word,同时释放资源
            Response.Write(ex.ToString());
            object miss = System.Reflection.Missing.Value;
            object missingValue = Type.Missing;
            object doNotSaveChanges = WdSaveOptions.wdDoNotSaveChanges;
            doc.Close(ref doNotSaveChanges, ref missingValue, ref missingValue);
            appWord.Application.Quit(ref miss, ref miss, ref miss);
            doc = null;
            appWord = null;
        } 
    }

(3)运行效果

就由模板dot生成word文档下载到客户端


相关内容: 最新内容:
服务器(WIndows2003)部署asp.net网站生成word文档经常遇到的问题![2014-12-12]
NET1.1下,使用C#自动生成Word2003文档(通过操作COM组件实现)[2014-12-12]
Ajax错误处理机制技术探讨[2014-12-12]
VS2005网站发布不便问题讨论[2014-12-12]
五种提高 SQL 性能的方法[2014-12-12]
Sql Server存储过程编写经验和优化措[2014-12-12]