Esempio n. 1
0
    //������Excel�¼�
    protected void ImageButton2_Click(object sender, ImageClickEventArgs e)
    {
        Scoresmr score = new Scoresmr();        //����Scoresmr����
        DataSet ds = score.QueryScore();     //����QueryScore������ѯ�ɼ�������ѯ����ŵ�DataSet���ݼ���
        DataTable DT = ds.Tables[0];
        //���ɽ�Ҫ��Ž����Excel�ļ�������
        string NewFileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
        //ת��Ϊ����·��
        NewFileName = Server.MapPath("Temp/" + NewFileName);
        //����ģ����ʽ���ɸ�Excel�ļ�
        File.Copy(Server.MapPath("../Modulemr.xls"), NewFileName, true);
        //����ָ���Excel�ļ������ݿ�����
        string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + NewFileName + ";Extended Properties='Excel 8.0;'";
        OleDbConnection Conn = new OleDbConnection(strConn);
        //�����ӣ�Ϊ�������ļ���׼��
        Conn.Open();
        OleDbCommand Cmd = new OleDbCommand("", Conn);

        foreach (DataRow DR in DT.Rows)
        {
            string XSqlString = "insert into [Sheet1$]";
            XSqlString += "([�û�����],[�Ծ�],[�ɼ�],[����ʱ��]) values(";
            XSqlString += "'" + DR["UserName"] + "',";
            XSqlString += "'" + DR["PaperName"] + "',";
            XSqlString += "'" + DR["Score"] + "',";
            XSqlString += "'" + DR["ExamTime"] + "')";
            Cmd.CommandText = XSqlString;
            Cmd.ExecuteNonQuery();
        }

        //�����������ر�����
        Conn.Close();
        //��Ҫ���ص��ļ������Ѹ��ļ������FileStream��
        System.IO.FileStream Reader = System.IO.File.OpenRead(NewFileName);
        //�ļ����͵�ʣ���ֽ�������ʼֵΪ�ļ����ܴ�С
        long Length = Reader.Length;

        Response.Buffer = false;
        Response.AddHeader("Connection", "Keep-Alive");
        Response.ContentType = "application/octet-stream";
        Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode("ѧ���ɼ�.xls"));
        Response.AddHeader("Content-Length", Length.ToString());

        byte[] Buffer = new Byte[10000];		//������������ݵĻ�����
        int ByteToRead;											//ÿ��ʵ�ʶ�ȡ���ֽ���

        while (Length > 0)
        {
            //ʣ���ֽ�����Ϊ�㣬��������
            if (Response.IsClientConnected)
            {
                //�ͻ�������������ţ���������
                ByteToRead = Reader.Read(Buffer, 0, 10000);					//����������������
                Response.OutputStream.Write(Buffer, 0, ByteToRead);	//�ѻ�����������д��ͻ��������
                Response.Flush();																		//����д��ͻ���
                Length -= ByteToRead;																//ʣ���ֽ�������
            }
            else
            {
                //�ͻ���������Ѿ��Ͽ�����ֹ����ѭ��
                Length = -1;
            }
        }

        //�رո��ļ�
        Reader.Close();
        //ɾ����Excel�ļ�
        File.Delete(NewFileName);
    }
Esempio n. 2
0
 //��ʼ���ɼ����
 protected void InitData()
 {
     Scoresmr score = new Scoresmr();        //����Scoresmr����
     DataSet ds = score.QueryScore();     //����QueryScore������ѯ�ɼ�������ѯ����ŵ�DataSet���ݼ���
     GridView1.DataSource = ds;          //ΪGridView�ؼ�ָ������Դ
     GridView1.DataBind();               //������
 }