Example #1
0
    /*-------------------------word转化----------------------------------------------------------*/
    private static void WordToHtmlFile(string WordFilePath)
    {
        Microsoft.Office.Interop.Word.Application newApp = new Microsoft.Office.Interop.Word.Application();
        // 指定原文件和目标文件
        object Source       = WordFilePath;
        string SaveHtmlPath = WordFilePath.Substring(0, WordFilePath.Length - 3) + "html";
        object Target       = SaveHtmlPath;

        // 缺省参数
        object Unknown = Type.Missing;

        //为了保险,只读方式打开
        object readOnly = true;

        // 打开doc文件
        Microsoft.Office.Interop.Word.Document doc = newApp.Documents.Open(ref Source, ref Unknown,
                                                                           ref readOnly, ref Unknown, ref Unknown,
                                                                           ref Unknown, ref Unknown, ref Unknown,
                                                                           ref Unknown, ref Unknown, ref Unknown,
                                                                           ref Unknown, ref Unknown, ref Unknown,
                                                                           ref Unknown, ref Unknown);

        // 指定另存为格式(rtf)
        object format = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatHTML;

        // 转换格式
        doc.SaveAs(ref Target, ref format,
                   ref Unknown, ref Unknown, ref Unknown,
                   ref Unknown, ref Unknown, ref Unknown,
                   ref Unknown, ref Unknown, ref Unknown,
                   ref Unknown, ref Unknown, ref Unknown,
                   ref Unknown, ref Unknown);

        // 关闭文档和Word程序
        doc.Close(ref Unknown, ref Unknown, ref Unknown);
        newApp.Quit(ref Unknown, ref Unknown, ref Unknown);
    }
Example #2
0
    protected void Button2_Click(object sender, EventArgs e)
    {
        SQLtoWord SW = new SQLtoWord();

        Button2.Enabled = false;

        string  str = "SELECT mt.[year], mt.Depart, mt.[time], mt.teacher_Name, mt.specify, mt.guiNum, mt.IsOne,mt.IsTaskGive, mt.IsrefRead, mt.IsGuided, mt.totalsituation, ms.student_Name, ms.title, ms.kind AS kind, ms.Ischanged, ms.IsReq, ms.IsCom, ms.Attitude, ms.quality, ms.result, mt.QA FROM midCheckForTea mt CROSS JOIN midCheckForStu ms where mt.teacher_ID='" + Session["username"] + "' and mt.year='" + Session["year"] + "'and ms.student_ID='" + Session["student_ID"] + "'";
        DB      db  = new DB();
        DataSet ds  = db.Select(str, db.DBconn());

        try
        {
            string tex   = ds.Tables[0].Rows[0][1].ToString();
            string path1 = Server.MapPath(@"..\\过程文档\\文档模版\\中期检查.doc");
            string path2 = Server.MapPath("..\\过程文档\\中期检查") + "\\" + Session["student_ID"] + this.Label6.Text + "中期检查表.doc";
            if (ds.Tables[0].Rows[0]["kind"].Equals("理论研究"))
            {
                ds.Tables[0].Rows[0]["kind"] = "√理论研究    □应用研究    □技术开发    □其他( )";
            }
            else if (ds.Tables[0].Rows[0]["kind"].Equals("应用研究"))
            {
                ds.Tables[0].Rows[0]["kind"] = "□理论研究    √应用研究    □技术开发    □其他( )";
            }
            else if (ds.Tables[0].Rows[0]["kind"].Equals("技术开发"))
            {
                ds.Tables[0].Rows[0]["kind"] = "□理论研究    □应用研究    √技术开发    □其他( )";
            }
            else
            {
                ds.Tables[0].Rows[0]["kind"] = "□理论研究    □应用研究    □技术开发    √其他(" + ds.Tables[0].Rows[0]["kind"] + ")";
            }



            Microsoft.Office.Interop.Word.Application appWord = null;
            Microsoft.Office.Interop.Word.Document    doc     = null;
            try
            {
                appWord         = new Microsoft.Office.Interop.Word.ApplicationClass();
                appWord.Visible = false;
                object objTrue     = true;
                object objFalse    = false;
                object objTemplate = path1;//模板路径
                object objDocType  = Microsoft.Office.Interop.Word.WdDocumentType.wdTypeDocument;
                doc = appWord.Documents.Add(ref objTemplate, ref objFalse, ref objDocType, ref objTrue);
                //第一步生成word文档
                //定义书签变量
                object[] obDD = new object[36];
                obDD[0]  = "year";
                obDD[1]  = "Depart";
                obDD[2]  = "time";
                obDD[3]  = "teacher_Name";
                obDD[4]  = "specify";
                obDD[5]  = "guiNum";
                obDD[6]  = "IsOne";
                obDD[7]  = "IsTaskGive";
                obDD[8]  = "IsrefRead";
                obDD[9]  = "IsGuided";
                obDD[10] = "totalsituation";
                obDD[11] = "student_Name1";
                obDD[12] = "student_Name2";
                obDD[13] = "title";
                obDD[14] = "kind1";
                obDD[15] = "kind2";
                obDD[16] = "kind3";
                obDD[17] = "Ischanged";
                obDD[18] = "IsReq";
                obDD[19] = "IsCom1";
                obDD[20] = "IsCom2";
                obDD[21] = "IsCom3";
                obDD[22] = "IsCom4";
                obDD[23] = "Attitude1";
                obDD[24] = "Attitude2";
                obDD[25] = "Attitude3";
                obDD[26] = "Attitude4";
                obDD[27] = "quality1";
                obDD[28] = "quality2";
                obDD[29] = "quality3";
                obDD[30] = "quality4";
                obDD[31] = "result1";
                obDD[32] = "result2";
                obDD[33] = "result3";
                obDD[34] = "result4";
                obDD[35] = "QA";
                for (int i = 0; i < 12; i++)
                {
                    doc.Bookmarks.get_Item(ref obDD[i]).Range.Text = ds.Tables[0].Rows[0][i].ToString();
                }
                doc.Bookmarks.get_Item(ref obDD[12]).Range.Text = ds.Tables[0].Rows[0][11].ToString();
                doc.Bookmarks.get_Item(ref obDD[13]).Range.Text = ds.Tables[0].Rows[0][12].ToString();
                //前13个循环加入书签,第13个开始要进行字符处理
                //14个是kind
                string   str1   = ds.Tables[0].Rows[0][13].ToString();
                string[] sArray = str1.Split('√');

                doc.Bookmarks.get_Item(ref obDD[14]).Range.Text = sArray[0]; //加入书签

                doc.Bookmarks.get_Item(ref obDD[15]).Range.Text = "";        //加入书签

                doc.Bookmarks.get_Item(ref obDD[16]).Range.Text = sArray[1]; //加入书签

                // 15,16,个是 ms.Ischanged,ms.IsReq
                doc.Bookmarks.get_Item(ref obDD[17]).Range.Text = ds.Tables[0].Rows[0][14].ToString();
                doc.Bookmarks.get_Item(ref obDD[18]).Range.Text = ds.Tables[0].Rows[0][15].ToString();
                //17个是 ms.IsCom
                if (ds.Tables[0].Rows[0][16].Equals("提前完成"))
                {
                    doc.Bookmarks.get_Item(ref obDD[19]).Range.Text = "√";
                    doc.Bookmarks.get_Item(ref obDD[20]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[21]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[22]).Range.Text = "  ";
                }
                else if (ds.Tables[0].Rows[0][16].Equals("按计划完成"))
                {
                    doc.Bookmarks.get_Item(ref obDD[20]).Range.Text = "√";
                    doc.Bookmarks.get_Item(ref obDD[19]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[21]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[22]).Range.Text = "  ";
                }
                else if (ds.Tables[0].Rows[0][16].Equals("延期完成"))
                {
                    doc.Bookmarks.get_Item(ref obDD[21]).Range.Text = "√";
                    doc.Bookmarks.get_Item(ref obDD[19]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[20]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[22]).Range.Text = "  ";
                }
                else if (ds.Tables[0].Rows[0][16].Equals("没有完成"))
                {
                    doc.Bookmarks.get_Item(ref obDD[22]).Range.Text = "√";
                    doc.Bookmarks.get_Item(ref obDD[19]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[21]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[20]).Range.Text = "  ";
                }

                //18个是ms.Attitude
                if (ds.Tables[0].Rows[0][17].Equals("认真"))
                {
                    doc.Bookmarks.get_Item(ref obDD[23]).Range.Text = "√";
                    doc.Bookmarks.get_Item(ref obDD[24]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[25]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[26]).Range.Text = "  ";
                }
                else if (ds.Tables[0].Rows[0][17].Equals("较认真"))
                {
                    doc.Bookmarks.get_Item(ref obDD[24]).Range.Text = "√";
                    doc.Bookmarks.get_Item(ref obDD[23]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[25]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[26]).Range.Text = "  ";
                }
                else if (ds.Tables[0].Rows[0][17].Equals("一般"))
                {
                    doc.Bookmarks.get_Item(ref obDD[25]).Range.Text = "√";
                    doc.Bookmarks.get_Item(ref obDD[24]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[23]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[26]).Range.Text = "  ";
                }
                else if (ds.Tables[0].Rows[0][17].Equals("不认真"))
                {
                    doc.Bookmarks.get_Item(ref obDD[26]).Range.Text = "√";
                    doc.Bookmarks.get_Item(ref obDD[24]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[25]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[23]).Range.Text = "  ";
                }

                //19个是ms.result
                if (ds.Tables[0].Rows[0][18].Equals("优"))
                {
                    doc.Bookmarks.get_Item(ref obDD[27]).Range.Text = "√";
                    doc.Bookmarks.get_Item(ref obDD[28]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[29]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[30]).Range.Text = "  ";
                }
                else if (ds.Tables[0].Rows[0][18].Equals("良"))
                {
                    doc.Bookmarks.get_Item(ref obDD[28]).Range.Text = "√";
                    doc.Bookmarks.get_Item(ref obDD[27]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[29]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[30]).Range.Text = "  ";
                }
                else if (ds.Tables[0].Rows[0][18].Equals("中"))
                {
                    doc.Bookmarks.get_Item(ref obDD[29]).Range.Text = "√";
                    doc.Bookmarks.get_Item(ref obDD[28]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[27]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[30]).Range.Text = "  ";
                }
                else if (ds.Tables[0].Rows[0][18].Equals("差"))
                {
                    doc.Bookmarks.get_Item(ref obDD[30]).Range.Text = "√";
                    doc.Bookmarks.get_Item(ref obDD[28]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[29]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[27]).Range.Text = "  ";
                }

                //20个是ms.result
                if (ds.Tables[0].Rows[0][19].Equals("表扬"))
                {
                    doc.Bookmarks.get_Item(ref obDD[31]).Range.Text = "√";
                    doc.Bookmarks.get_Item(ref obDD[32]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[33]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[34]).Range.Text = "  ";
                }
                else if (ds.Tables[0].Rows[0][19].Equals("通过"))
                {
                    doc.Bookmarks.get_Item(ref obDD[32]).Range.Text = "√";
                    doc.Bookmarks.get_Item(ref obDD[31]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[33]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[34]).Range.Text = "  ";
                }
                else if (ds.Tables[0].Rows[0][19].Equals("警告"))
                {
                    doc.Bookmarks.get_Item(ref obDD[33]).Range.Text = "√";
                    doc.Bookmarks.get_Item(ref obDD[32]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[31]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[34]).Range.Text = "  ";
                }
                else if (ds.Tables[0].Rows[0][19].Equals("严重警告"))
                {
                    doc.Bookmarks.get_Item(ref obDD[34]).Range.Text = "√";
                    doc.Bookmarks.get_Item(ref obDD[32]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[33]).Range.Text = "  ";
                    doc.Bookmarks.get_Item(ref obDD[31]).Range.Text = "  ";
                }
                //21个是mt.QA

                doc.Bookmarks.get_Item(ref obDD[35]).Range.Text = ds.Tables[0].Rows[0][20].ToString();


                //第四步 生成word
                object filename = path2;
                object miss     = System.Reflection.Missing.Value;
                try
                {
                    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);
                    //doc.Visible = true;//测试
                }
                catch
                {
                    // System.Windows.Forms.MessageBox.Show("系统找不到指定目录下的文件: " + DATAWORDPATH + tempFileName + WORDPOSTFIX);
                    Response.Write("<script>alert('系统找不到指定目录文件输出路径')<script>");
                }
                object missingValue     = Type.Missing;
                object doNotSaveChanges = Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges;
                doc.Close(ref doNotSaveChanges, ref missingValue, ref missingValue);//关闭WordDoc文档对象
                //关闭WordApp组件对象

                appWord.Application.Quit(ref miss, ref miss, ref miss);
                doc     = null;
                appWord = null;
                // Response.Write("<script>alert('文档写入成功!')<script>");
                //yi流的方式传送给客户端
                String             filepath = path2;
                System.IO.FileInfo file     = new System.IO.FileInfo(filepath);
                Response.Clear();
                Response.Charset         = "GB2312";
                Response.ContentEncoding = System.Text.Encoding.UTF8;
                // 添加头信息,为"文件下载/另存为"对话框指定默认文件名
                Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(file.Name));
                // 添加头信息,指定文件大小,让浏览器能够显示下载进度
                Response.AddHeader("Content-Length", file.Length.ToString());

                // 指定返回的是一个不能被客户端读取的流,必须被下载
                Response.ContentType = "application/ms-excel";

                // 把文件流发送到客户端
                Response.WriteFile(file.FullName);
                // 停止页面的执行
                Response.End();
            }
            catch (System.Exception a)
            {
                //捕捉异常,如果出现异常则清空实例,退出word,同时释放资源
                string aa               = a.ToString();
                object miss             = System.Reflection.Missing.Value;
                object missingValue     = Type.Missing;
                object doNotSaveChanges = Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges;
                doc.Close(ref doNotSaveChanges, ref missingValue, ref missingValue);
                appWord.Application.Quit(ref miss, ref miss, ref miss);
                doc     = null;
                appWord = null;
                Response.Write("<script>alert('向word文件中写入数据出错。');location='midCheckEA.aspx'</script>");

                return;
            }
        }
        catch
        {
            Response.Write("<script>alert('数据库出错,您可能还未提交中期检查表.');location='midCheckEA.aspx'</script>");
            return;
        }
        finally
        {
            ds.Clear();
            Button2.Enabled = true;
        }
    }
    protected object isVisible = false; //The process has to be in invisible mode

    // implementing the method of the 'IDocumentReader' interface
    /// <summary>
    /// Read the document's content
    /// </summary>
    /// <param name="path">Path of the file to be read</param>
    /// <param name="alertMessage">Message to be alerted on document import (usually to indicate an error)</param>
    /// <returns>HTML content of the document to be imported</returns>
    public string GetHtml(string path, out string alertMessage)
    {
        alertMessage = "";                                                        // no alert by default
        string result = "";                                                       // result content

        Microsoft.Office.Interop.Word.ApplicationClass objApp = null;             // MS Word application
        object hName = path + ".html";                                            // temporary HTML file
        object wName = path;                                                      // path of the source file
        string url   = System.Web.HttpContext.Current.Request.QueryString["url"]; // relative URL of the source file

        // comment the following line if you want to have relative URL's in the document
        url = Obout.Ajax.UI.HTMLEditor.Popups.GalleryManager.GetHttpRoot(System.Web.HttpContext.Current.Request) + url;

        string clearedFileName = HttpUtility.UrlPathEncode(Path.GetFileName(path)); // cleared file name of the source

        if (File.Exists(hName.ToString()))                                          // remove the temporary file if exists
        {
            if (CanAccess(hName.ToString()))
            {
                File.Delete(hName.ToString());
            }
        }

        try
        {
            // create application
            objApp = new Microsoft.Office.Interop.Word.ApplicationClass();
            // open document
            objApp.Documents.Open(ref wName, ref missing, ref readOnly, 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);
            // make the application invisible
            objApp.Visible = false;
            // get the active document
            Microsoft.Office.Interop.Word.Document oDoc = objApp.ActiveDocument;
            // save it to the temporay HTML file
            oDoc.SaveAs(ref hName, ref fltDocFormat, 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);
            // quite the application
            objApp.Quit(ref missing, ref missing, ref missing);

            // get the content of the temporary HTML file
            if (CanAccess(hName.ToString()))
            {
                // get styles and body's content from the temporary HTML document
                result = (new Obout.Ajax.UI.HTMLEditor.Popups.HtmlReader()).GetHtml(hName.ToString(), out alertMessage);
                // for images URL's
                result = result.Replace(clearedFileName, url);
                // we don't need this file anymore
                File.Delete(hName.ToString());
            }
        }
        catch (Exception ex)
        {
            // something wrong...
            alertMessage = ex.Message;
        }
        finally
        {
            // ensure the MS Word application is stopped
            if (objApp != null)
            {
                objApp = null;
                GC.Collect();
                GC.WaitForPendingFinalizers();
                GC.Collect();
                GC.WaitForPendingFinalizers();
            }
        }

        return(result);
    }
Example #4
0
    public bool ExportToWord(DataSet ds, string path1, string path2, string[] obDD)//说明ds为数据集,path1为模版路径,path2为生成文档的路径,obDD为末班里面的书签
    {
        Microsoft.Office.Interop.Word.Application appWord = null;
        Microsoft.Office.Interop.Word.Document    doc     = null;
        try
        {
            appWord         = new Microsoft.Office.Interop.Word.ApplicationClass();
            appWord.Visible = false;
            object objTrue     = true;
            object objFalse    = false;
            object objTemplate = path1;//模板路径
            object objDocType  = Microsoft.Office.Interop.Word.WdDocumentType.wdTypeDocument;
            doc = appWord.Documents.Add(ref objTemplate, ref objFalse, ref objDocType, ref objTrue);
            //第一步生成word文档
            //定义书签变量
            int      length    = obDD.Length;
            object[] obDD_Name = new object[length];
            int      j         = 0;

            for (int i1 = 0; i1 < ds.Tables[0].Rows.Count; i1++)
            {
                for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
                {
                    int total = i1 * ds.Tables[0].Columns.Count + i + 1;
                    if (length < total)
                    {
                        break;
                    }
                    obDD_Name[j] = obDD[j];

                    doc.Bookmarks.get_Item(ref obDD_Name[j]).Range.Text = ds.Tables[0].Rows[i1][i].ToString(); //循环加入书签
                    j++;
                }
            }

            // ....
            //第四步 生成word
            object filename = path2;
            object miss     = System.Reflection.Missing.Value;
            try
            {
                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);
                //doc.Visible = true;//测试
            }
            catch
            {
                // System.Windows.Forms.MessageBox.Show("系统找不到指定目录下的文件: " + DATAWORDPATH + tempFileName + WORDPOSTFIX);
                HttpContext.Current.Response.Write("<script>alert('系统找不到指定目录文件输出路径')<script>");
                return(false);
            }
            object missingValue     = Type.Missing;
            object doNotSaveChanges = Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges;
            doc.Close(ref doNotSaveChanges, ref missingValue, ref missingValue);//关闭WordDoc文档对象
            //关闭WordApp组件对象

            appWord.Application.Quit(ref miss, ref miss, ref miss);
            doc     = null;
            appWord = null;
            return(true);
            // HttpContext.Current.Response.Write("<script>alert('文档写入成功!')<script>");
        }
        catch (System.Exception a)
        {
            //捕捉异常,如果出现异常则清空实例,退出word,同时释放资源
            string aa               = a.ToString();
            object miss             = System.Reflection.Missing.Value;
            object missingValue     = Type.Missing;
            object doNotSaveChanges = Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges;
            doc.Close(ref doNotSaveChanges, ref missingValue, ref missingValue);
            appWord.Application.Quit(ref miss, ref miss, ref miss);
            doc     = null;
            appWord = null;
            return(false);
            // HttpContext.Current.Response.Write("<script>alert('向word文件中写入数据出错:" + a.Message + "')<script>");
        }
    }
Example #5
0
    public bool ExportToWord(DataSet ds, string path1, string path2, string[] obDD)//说明ds为数据集,path1为模版路径,path2为生成文档的路径,obDD为末班里面的书签
    {
        Microsoft.Office.Interop.Word.Application appWord = null;
        Microsoft.Office.Interop.Word.Document    doc     = null;
        try
        {
            appWord         = new Microsoft.Office.Interop.Word.ApplicationClass();
            appWord.Visible = false;
            object objTrue     = true;
            object objFalse    = false;
            object objTemplate = path1;//模板路径
            object objDocType  = Microsoft.Office.Interop.Word.WdDocumentType.wdTypeDocument;
            doc = appWord.Documents.Add(ref objTemplate, ref objFalse, ref objDocType, ref objTrue);
            //第一步生成word文档
            //定义书签变量
            int      length    = obDD.Length;
            object[] obDD_Name = new object[length];

            for (int i = 0; i < obDD.Length; i++)
            {
                obDD_Name[i] = obDD[i];

                doc.Bookmarks.get_Item(ref obDD_Name[i]).Range.Text = ds.Tables[0].Rows[0][i].ToString(); //姓 名
                // object obDD_Name = "t1";//姓 名
                //object obDD_Sex = "t2";//性 别
                //object obDD_Age = "t3";//年龄
                // object obDD_Birthday = "DD_Birthday"; //出生年月
                // object obDD_Nation = "DD_Nation"; //民 族
                // object obDD_Native = "DD_Native"; //籍 贯
                // ...
                //第二步 读取数据,填充数据集
                // SqlDataReader dr = XXXXX;//读取出来的数据集
                //第三步 给书签赋值
                //给书签赋值
                //   doc.Bookmarks.get_Item(ref obDD_Name).Range.Text = "nihao"; //姓 名
                // doc.Bookmarks.get_Item(ref obDD_Sex).Range.Text = "性 别";//性 别
                // doc.Bookmarks.get_Item(ref obDD_Age).Range.Text = Convert.ToString(DateTime.Now.Year);//年龄
            }
            // ds.Clear();
            // ....
            //第四步 生成word
            //object filename = Server.MapPath("file") + "\\" + "接收毕业生情况表" + ".doc";
            object filename = path2;
            object miss     = System.Reflection.Missing.Value;
            try
            {
                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);
                //doc.Visible = true;//测试
            }
            catch
            {
                // System.Windows.Forms.MessageBox.Show("系统找不到指定目录下的文件: " + DATAWORDPATH + tempFileName + WORDPOSTFIX);
                HttpContext.Current.Response.Write("<script>alert('系统找不到指定目录文件输出路径')<script>");
                return(false);
            }
            object missingValue     = Type.Missing;
            object doNotSaveChanges = Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges;
            doc.Close(ref doNotSaveChanges, ref missingValue, ref missingValue);
            appWord.Application.Quit(ref miss, ref miss, ref miss);
            doc     = null;
            appWord = null;
            return(true);
            // HttpContext.Current.Response.Write("<script>alert('文档写入成功!')<script>");
        }
        catch (System.Exception a)
        {
            //捕捉异常,如果出现异常则清空实例,退出word,同时释放资源
            string aa               = a.ToString();
            object miss             = System.Reflection.Missing.Value;
            object missingValue     = Type.Missing;
            object doNotSaveChanges = Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges;
            doc.Close(ref doNotSaveChanges, ref missingValue, ref missingValue);
            appWord.Application.Quit(ref miss, ref miss, ref miss);
            doc     = null;
            appWord = null;
            return(false);
            // HttpContext.Current.Response.Write("<script>alert('向word文件中写入数据出错:" + a.Message + "')<script>");
        }
    }