asp.net 生成word

 Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();
        //模板文件
        string TemplateFile = Server.MapPath("~/WordTemplate/" + templater);
        //TemplateFile = Server.MapPath("~/UpLoad/TestWord/testPrint.doc");
        //生成的具有模板样式的新文件
        string FileName = Server.MapPath("~/WordTemplate/Document/" + DateTime.Now.ToString("yyyyMMddHHmmssfffffff") + ".doc");//@"C:\Documents and Settings\Administrator\桌面\" + DateTime.Now.ToString("yyyyMMddHHmmssfffffff") + ".doc";
        string Fname = DateTime.Now.ToString("yyyyMMddHHmmssfffffff") + ".doc";
        FileName = Server.MapPath("~/WordTemplate/Document/" + Fname);
        //模板文件拷贝到新文件
        File.Copy(TemplateFile, FileName);
        Microsoft.Office.Interop.Word.Document doc = new Microsoft.Office.Interop.Word.Document();
        object Obj_FileName = FileName;
        object Visible = false; object;
        object missing = System.Reflection.Missing.Value;
        //打开文件
        doc = app.Documents.Open(ref Obj_FileName, ref missing, ref ReadOnly, ref missing,
         ref missing, ref missing, ref missing, ref missing,
         ref missing, ref missing, ref missing, ref Visible,
         ref missing, ref missing, ref missing,
         ref missing);
        doc.Activate();

        #region 生成wrod
        if (type == "1")
        {
            foreach (Microsoft.Office.Interop.Word.Bookmark bm in doc.Bookmarks)
            {
                if (bm.Name == "banner")
                {
                    bm.Select(); bm.Range.Text = this.gBanner.InnerHtml;
                }
                else if (bm.Name == "content")
                {
                    bm.Select(); bm.Range.Text = this.gContent.InnerHtml;
                }
                else if (bm.Name == "foote")
                {
                    bm.Select(); bm.Range.Text = this.lblGDate.InnerHtml;
                }
                else if (bm.Name == "right")
                {
                    bm.Select(); bm.Range.Text = " 案号:MS-0" + this.glblNum.InnerHtml + "函号:0" + this.glblHon.InnerHtml;
                }
                else if (bm.Name == "Tal")
                {
                    bm.Select(); bm.Range.Text = "承办律师联系电话:" + this.lblLawyerTal.InnerHtml.Trim();
                }
            }
        }
        else
        {
            foreach (Microsoft.Office.Interop.Word.Bookmark bm in doc.Bookmarks)
            {
                if (bm.Name == "banner")
                {
                    bm.Select(); bm.Range.Text = this.sBanner.InnerHtml;
                }
                else if (bm.Name == "content")
                {
                    bm.Select(); bm.Range.Text = this.sContent.InnerHtml;
                }
                else if (bm.Name == "foote")
                {
                    bm.Select(); bm.Range.Text = this.lblsDate.InnerHtml;
                }
                else if (bm.Name == "right")
                {
                    bm.Select(); bm.Range.Text = " 案号:MS-0" + this.lblsnum.InnerHtml + "函号:0" + this.lblHonnum.InnerHtml;
                }
            }
        }
        //doc.PrintOut(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, ref missing, ref missing, ref missing);
        object IsSave = true;
        doc.Close(ref IsSave, ref missing, ref missing);
        //app.Quit(ref IsSave, ref missing, ref missing);
        try
        {
            FileInfo downloadfile = new FileInfo(HostingEnvironment.ApplicationPhysicalPath + "\\WordTemplate\\Document\\" + Fname);
            Response.Clear();
            Response.ClearHeaders();
            Response.Buffer = false;
            Response.ContentType = "application/octet-stream";
            Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(Fname, System.Text.Encoding.UTF8));
            Response.AppendHeader("Content-Length", downloadfile.Length.ToString());
            Response.WriteFile(downloadfile.FullName);
            Response.Flush();
            Response.End();
        }
        catch (Exception ex)
        {
            throw ex;
        }
        //Response.Write("<script language='javascript'>alert('生成word成功!');</script>");
        #endregion