Beispiel #1
0
    protected void Button2_Click(object sender, EventArgs e)
    {
        Button2.Enabled = false;
        SQLtoWord SW  = new SQLtoWord();
        string    str = " SELECT student_Name, student_ID,Depart,class,AimComplete,time  FROM aimCom WHERE (student_ID ='" + Session["student_ID"].ToString().Trim() + "')";
        DB        db  = new DB();
        DataSet   ds  = db.Select(str, db.DBconn());

        try
        {
            string tex   = ds.Tables[0].Rows[0][0].ToString();//ceshi
            string path1 = Server.MapPath(@"..\\过程文档\\文档模版\\小结表.doc");
            string path2 = Server.MapPath(@"..\\过程文档\\小结表") + "\\" + Session["student_ID"] + Session["student_Name"] + "小结表.doc";

            string[] obDD = new string[6];
            obDD[0] = "student_Name";
            obDD[1] = "student_ID";
            obDD[2] = "Depart";
            obDD[3] = "class";
            obDD[4] = "AimComplete";
            obDD[5] = "time";
            if (SW.ExportToWord(ds, path1, path2, obDD))
            {
                // 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();
            }
            else
            {
                Response.Write("<script>alert('向word文件中写入数据出错.')</script>");
                return;
            }
        }
        catch
        {
            Response.Write("<script>alert('数据库出错,该同学可能还未填写小结表.')</script>");
            return;
        }
        finally
        {
            ds.Clear();
        }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        SQLtoWord SW = new SQLtoWord();

        string str = "select student_ID,name,specialty from student where student_ID='20051308025'";
        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(@"1.doc");
            string path2 = Server.MapPath("file") + "\\" + "接收毕业生情况表" + ".doc";
            string[] obDD = new string[3];
            obDD[0] = "t1";
            obDD[1] = "t2";
            obDD[2] = "t3";
            if (SW.ExportToWord(ds, path1, path2, obDD))
            {
               // 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();

            }
            else
            {
                Response.Write("<script>alert('向word文件中写入数据出错.')<script>");
            }
        }
        catch
        {
            Response.Write("<script>alert('数据库出错.')<script>");
        }
        finally
        {
            ds.Clear();

        }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        SQLtoWord SW = new SQLtoWord();

        string  str = "select student_ID,name,specialty from student where student_ID='20051308025'";
        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(@"1.doc");
            string   path2 = Server.MapPath("file") + "\\" + "接收毕业生情况表" + ".doc";
            string[] obDD  = new string[3];
            obDD[0] = "t1";
            obDD[1] = "t2";
            obDD[2] = "t3";
            if (SW.ExportToWord(ds, path1, path2, obDD))
            {
                // 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();
            }
            else
            {
                Response.Write("<script>alert('向word文件中写入数据出错.')<script>");
            }
        }
        catch
        {
            Response.Write("<script>alert('数据库出错.')<script>");
        }
        finally
        {
            ds.Clear();
        }
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        Button2.Enabled = false;
        SQLtoWord SW = new SQLtoWord();

        //string str = "select student_ID,name,Depart,specify,teacher_Name,title,AimandSense,state,content,schedule,ref from STReport where student_ID='" +Session["student_ID"].ToString().Trim()+ "'";
        string str = " SELECT student_ID, name, Depart, specify, teacher_Name, title, AimandSense, state,  content, schedule, ref FROM STReport WHERE (student_ID ='" + Session["student_ID"].ToString().Trim() + "')";
        DB db = new DB();
        DataSet ds = db.Select(str, db.DBconn());
        try
        {
            string tex = ds.Tables[0].Rows[0][0].ToString();//ceshi 
            string path1 = Server.MapPath(@"..\\过程文档\\文档模版\\开题报告.doc");
            string path2 = Server.MapPath(@"..\\过程文档\\开题报告") + "\\" + Session["student_ID"] + Session["student_Name"] + "开题报告.doc";

            string[] obDD = new string[11];
            obDD[0] = "student_ID";
            obDD[1] = "name";
            obDD[2] = "Depart";
            obDD[3] = "specify";
            obDD[4] = "teacher_Name";
            obDD[5] = "title";
            obDD[6] = "AimandSense";
            obDD[7] = "state";
            obDD[8] = "content";
            obDD[9] = "schedule";
            obDD[10] = "ref";

            if (SW.ExportToWord(ds, path1, path2, obDD))
            {

                // 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();

            }
            else
            {
                Response.Write("<script>alert('向word文件中写入数据出错.')</script>");
                return;
            }

        }
        catch
        {
            Response.Write("<script>alert('数据库出错,该同学可能还未填写开题报告.')</script>");
            return;
        }
        finally
        {
            ds.Clear();
            Button2.Enabled = true;
        }
       
    }
    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;
        }

    }
Beispiel #6
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 void Button2_Click(object sender, EventArgs e)
    {
        SQLtoWord SW = new SQLtoWord();
        Button2.Enabled = false;
        string str = "select Depart,specify,name,student_ID,class,period,periodUp,teacher_Name,title,kind,project_Name,project_Depart,project_Num,content,aim,ref,remark from studentTask where 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.Label3.Text + "学生任务书.doc";
            if (ds.Tables[0].Rows[0]["kind"].Equals("理论研究"))
            {
                ds.Tables[0].Rows[0]["kind"] = "√理论研究    □应用研究    □技术开发    □其他";
            }
            if (ds.Tables[0].Rows[0]["kind"].Equals("应用研究"))
            {
                ds.Tables[0].Rows[0]["kind"] = "□理论研究    √应用研究    □技术开发    □其他";
            }
            if (ds.Tables[0].Rows[0]["kind"].Equals("技术开发"))
            {
                ds.Tables[0].Rows[0]["kind"] = "□理论研究    □应用研究    √技术开发    □其他";
            }
            if (ds.Tables[0].Rows[0]["kind"].Equals("其他"))
            {
                ds.Tables[0].Rows[0]["kind"] = "□理论研究    □应用研究    □技术开发    √其他";
            }

            string[] obDD = new string[19];
            obDD[0] = "Depart";
            obDD[1] = "specify";
            obDD[2] = "name";
            obDD[3] = "student_ID";
            obDD[4] = "class";
            obDD[5] = "period";
            obDD[6] = "periodUp";
            obDD[7] = "teacher_Name";
            obDD[8] = "title";
            obDD[9] = "kind1";
            obDD[10] = "kind2";
            obDD[11] = "kind3";
            obDD[12] = "project_Name";
            obDD[13] = "project_Depart";
            obDD[14] = "project_Num";
            obDD[15] = "content";
            obDD[16] = "aim";
            obDD[17] = "ref";
            obDD[18] = "remark";

            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;//初始化数据库daset列
                for (int i = 0; i < obDD.Length; i++)
                {
                   
                    
                    obDD_Name[i] = obDD[i];
                    if (ds.Tables[0].Rows[0]["kind"] == ds.Tables[0].Rows[0][j])//到达kind出
                    {
                        string str1 = ds.Tables[0].Rows[0]["kind"].ToString();
                        string[] sArray = str1.Split('√');
                  
                        doc.Bookmarks.get_Item(ref obDD_Name[i]).Range.Text = sArray[0]; //加入书签
                        i++;
                        obDD_Name[i] = obDD[i];
                        doc.Bookmarks.get_Item(ref obDD_Name[i]).Range.Text = ""; //加入书签
                        i++;
                        obDD_Name[i] = obDD[i];
                        doc.Bookmarks.get_Item(ref obDD_Name[i]).Range.Text = sArray[1]; //加入书签
                        j++;

                    }
                    else
                    {

                        doc.Bookmarks.get_Item(ref obDD_Name[i]).Range.Text = ds.Tables[0].Rows[0][j].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);
                   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文件中写入数据出错.')</script>");
                return;
            } 
        }
        catch
        {
            Response.Write("<script>alert('数据库出错,该同学可能还未填写学生任务书.')</script>");
            return;
        }
        finally
        {

            ds.Clear();
            Button2.Enabled = true;

        }
    }
Beispiel #8
0
    protected void Button2_Click(object sender, EventArgs e)
    {
        SQLtoWord SW = new SQLtoWord();

        Button2.Enabled = false;
        string  str = "select Depart,specify,name,student_ID,class,period,periodUp,teacher_Name,title,kind,project_Name,project_Depart,project_Num,content,aim,ref,remark from studentTask where 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.Label3.Text + "学生任务书.doc";
            if (ds.Tables[0].Rows[0]["kind"].Equals("理论研究"))
            {
                ds.Tables[0].Rows[0]["kind"] = "√理论研究    □应用研究    □技术开发    □其他";
            }
            if (ds.Tables[0].Rows[0]["kind"].Equals("应用研究"))
            {
                ds.Tables[0].Rows[0]["kind"] = "□理论研究    √应用研究    □技术开发    □其他";
            }
            if (ds.Tables[0].Rows[0]["kind"].Equals("技术开发"))
            {
                ds.Tables[0].Rows[0]["kind"] = "□理论研究    □应用研究    √技术开发    □其他";
            }
            if (ds.Tables[0].Rows[0]["kind"].Equals("其他"))
            {
                ds.Tables[0].Rows[0]["kind"] = "□理论研究    □应用研究    □技术开发    √其他";
            }

            string[] obDD = new string[19];
            obDD[0]  = "Depart";
            obDD[1]  = "specify";
            obDD[2]  = "name";
            obDD[3]  = "student_ID";
            obDD[4]  = "class";
            obDD[5]  = "period";
            obDD[6]  = "periodUp";
            obDD[7]  = "teacher_Name";
            obDD[8]  = "title";
            obDD[9]  = "kind1";
            obDD[10] = "kind2";
            obDD[11] = "kind3";
            obDD[12] = "project_Name";
            obDD[13] = "project_Depart";
            obDD[14] = "project_Num";
            obDD[15] = "content";
            obDD[16] = "aim";
            obDD[17] = "ref";
            obDD[18] = "remark";

            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;//初始化数据库daset列
                for (int i = 0; i < obDD.Length; i++)
                {
                    obDD_Name[i] = obDD[i];
                    if (ds.Tables[0].Rows[0]["kind"] == ds.Tables[0].Rows[0][j])//到达kind出
                    {
                        string   str1   = ds.Tables[0].Rows[0]["kind"].ToString();
                        string[] sArray = str1.Split('√');

                        doc.Bookmarks.get_Item(ref obDD_Name[i]).Range.Text = sArray[0]; //加入书签
                        i++;
                        obDD_Name[i] = obDD[i];
                        doc.Bookmarks.get_Item(ref obDD_Name[i]).Range.Text = ""; //加入书签
                        i++;
                        obDD_Name[i] = obDD[i];
                        doc.Bookmarks.get_Item(ref obDD_Name[i]).Range.Text = sArray[1]; //加入书签
                        j++;
                    }
                    else
                    {
                        doc.Bookmarks.get_Item(ref obDD_Name[i]).Range.Text = ds.Tables[0].Rows[0][j].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);
                    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文件中写入数据出错.')</script>");
                return;
            }
        }
        catch
        {
            Response.Write("<script>alert('数据库出错,该同学可能还未填写学生任务书.')</script>");
            return;
        }
        finally
        {
            ds.Clear();
            Button2.Enabled = true;
        }
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        Button2.Enabled = false;
        SQLtoWord SW = new SQLtoWord();

        //string str = "select student_ID,name,Depart,specify,teacher_Name,title,AimandSense,state,content,schedule,ref from STReport where student_ID='" +Session["student_ID"].ToString().Trim()+ "'";
        string  str = " SELECT guimark, time  FROM guiMark WHERE (student_ID ='" + Session["student_ID"].ToString().Trim() + "')";
        DB      db  = new DB();
        DataSet ds  = db.Select(str, db.DBconn());

        try
        {
            string tex   = ds.Tables[0].Rows[0][0].ToString();//ceshi
            string path1 = Server.MapPath(@"..\\过程文档\\文档模版\\指导记录.doc");
            string path2 = Server.MapPath(@"..\\过程文档\\指导记录") + "\\" + Session["student_ID"] + this.Label2.Text + "指导记录.doc";

            string[] obDD = new string[16];
            obDD[0]  = "guide1";
            obDD[1]  = "date1";
            obDD[2]  = "guide2";
            obDD[3]  = "date2";
            obDD[4]  = "guide3";
            obDD[5]  = "date3";
            obDD[6]  = "guide4";
            obDD[7]  = "date4";
            obDD[8]  = "guide5";
            obDD[9]  = "date5";
            obDD[10] = "guide6";
            obDD[11] = "date6";
            obDD[12] = "guide7";
            obDD[13] = "date7";
            obDD[14] = "guide8";
            obDD[15] = "date8";
            if (SW.ExportToWord(ds, path1, path2, obDD))
            {
                // 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();
            }
            else
            {
                Response.Write("<script>alert('向word文件中写入数据出错.')</script>");
            }
        }
        catch
        {
            Response.Write("<script>alert('数据库出错,该同学可能还未填写指导记录.')</script>");
        }
        finally
        {
            ds.Clear();
            Button2.Enabled = true;
        }
    }