下面是我生成报表的代码,望大侠们改正下:string sql=s_getchkbox(CB_Sql);
if (sql=="")
{
Response.Write("<script language=javascript> alert('请选择需要生成报表的字段!')</script>");
return;
}
string rsql=sql.Substring(0,sql.Length-1);
string stxt=s_getCB(CB_Sql);
SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnStr"]);
conn.Open();
string str = "select "+rsql+" from Aims order by Aim_Date desc";
SqlCommand comm = new SqlCommand(str, conn);
SqlDataReader dr = comm.ExecuteReader();
Excel.Application xlApp = new Excel.Application();

if (xlApp == null) { Response.Write("Can’t open Excel!"); return; }
xlApp.Application.Workbooks.Add(true); int row = 2, fieldcount;

fieldcount = dr.FieldCount; string[] strn = stxt.Split(',');
       
for (int col = 0; col < fieldcount; col++)
xlApp.Cells[1, col + 1] =strn[col].ToString();
        
while (dr.Read())
{
for (int col = 0; col < fieldcount; col++)
xlApp.Cells[row, col+1] = dr.GetValue(col).ToString();
row++;
}
xlApp.Visible = true;
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp.Application.Workbooks);
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp);
xlApp = null;
conn.Close();
GC.Collect();这个能够生成报表,但是每次生成报表关闭Excle后,系统进程--Excel.exe都不能释放,这个问题怎么解决呀,高手些指点下···