各位帮忙看一下,我这个程序为什么不行?想要当点击按钮“aaa”时,把datagrid中的内容输出到excel中!我是用记事本编写的,大家看起来不便的地方请见谅。谢谢大家!  
 
 
<!--  #include  File="SqlFunction.inc"  -->  
<%@  Import  Namespace="System.IO"  %>  
 
<%@  Import  Namespace="System.Drawing"  %>  
 
<%@  Import  Namespace="System.Text"  %>  
 
<Script  Language="VB"  Runat="Server">  
       
Sub  BindList()  
   dim  strsql  as  string  =  "select  学号,姓名,题目,教师  from  temp,student  where  temp.学生=student.学号  order  by  学号"  
   myDataGrid.DataSource  =  CreateDataSet(strsql  ,  "data",  "temp")    
   myDataGrid.DataBind()  
End  Sub  
 
Sub  Page_Load(sender  As  Object,  e  As  Eventargs)  
   If  Not  IsPostBack  Then  BindList()  
End  Sub  
 
Sub  ExportDataGrid(FileType  As  String,  FileName  As  String)    
Response.Charset  =  "GB2312"    
Response.ContentEncoding  =  System.Text.Encoding.GetEncoding("GB2312")    
Response.AppendHeader("Content-Disposition",  "attachment;filename="  &  HttpUtility.UrlEncode(FileName,System.Text.Encoding.UTF8))    
Response.ContentType  =  FileType    
Me.EnableViewState  =  False    
Dim  tw  As  System.IO.StringWriter    
tw  =  New  System.IO.StringWriter    
Dim  hw  As  System.Web.UI.HtmlTextWriter    
hw  =  New  HtmlTextWriter(tw)    
myDataGrid.RenderControl(hw)    
Response.Write(tw.ToString())    
Response.End()    
End  Sub    
 
 
Sub  Btn_Import_Excel_Click(sender  As  Object,  e  As  EventArgs)  
Call  ExportDataGrid("application/ms-excel",  "指数列表.xls")  
End  Sub    
 
</Script>  
 
<Html>  
 
   <Body>  
<center>  
       <H1  Align="Center">最终选题结果</H1>  
       <Form  Runat="Server">  
<input  type="button"  name="Submit3"  value="·  打印最终结果  ·"  onclick="document.execCommand('print')">  
<Asp:button  runat="server"  text="aaa"  onclike="Btn_Import_Excel_Click"  />  
<br><br>  
 
           <Asp:DataGrid  Runat="Server"  Id="myDataGrid"  AutoGenerateColumns="false"  HorizontalAlign="Center"  width=80%>  
               <HeaderStyle  Font-Size="Small"  Font-Bold="True"  HorizontalAlign="Center"  ForeColor="black"  />  
                 
               <ItemStyle  Font-Size="X-Small"  ForeColor="black"  HorizontalAlign="Center"  />  
<Columns>  
               <Asp:BoundColumn  HeaderText="学生学号"  DataField="学号"  />  
               <Asp:BoundColumn  HeaderText="学生姓名"  DataField="姓名"  />  
               <Asp:BoundColumn  HeaderText="题目名称"  DataField="题目"  />  
               <Asp:BoundColumn  HeaderText="指导教师"  DataField="教师"  />  
 
</Columns>  
               </Asp:DataGrid>  
 </Form>  
   </Body>  
</Html>

解决方案 »

  1.   

    把“打印最终结果”按钮和查询数据库并按照流方式输出的功能分成两个页面;
    也就是说按了“打印最终结果”按钮后转到一个新页面(不能使用模态窗体),在这个新的apsx页面里查询数据库并按照流方式输出到页面上,你的这个处理函数没错,但是这个新aspx页面的前台所有html代码都要删掉,否则会出问题的,出什么问题你自己试试看就明白了。
      

  2.   

    去掉了打印按钮,问题是安了aaa按钮后并没有执行输出成excel,为什么呢?