将数据导入Excel中

 在很多情况下,我们需要将DataGrid中的数据导入Excel中,以方便编辑并打印,下面的实现这一要求的代码:

public void Export2Excel(Object Sender, EventArgs E)
{
  // 将当前查询的数据导入Excel中
  SqlConnection SqlConn = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]);
   
  // 设置为true,则在当前的数据上追加数据,否则,重写当前数据   
  StreamWriter w = new StreamWriter(Server.MapPath("Data\\EmpInfoStaticResult.xls"), false, Encoding.Default);
  SqlConn.Open();

  try
  {
    SqlCommand SqlCmd = SqlConn.CreateCommand();
    SqlCmd.CommandText = "Select * From EmpInfo"; 
    SqlDataReader Reader = SqlCmd.ExecuteReader();
   for (int i = 0; i < Reader.FieldCount; ++i)
   {
     w.Write(Reader.GetName(i));
     w.Write('\t');
   }
    w.Write("\r\n");
    object[] values = new object[Reader.FieldCount];
   while (Reader.Read())
   {
      Reader.GetValues(values);
    for (int i = 0; i < values.Length; ++i)
    {
      w.Write( values[i].ToString());
      w.Write('\t');
    }
      w.Write("\r\n");
   }
    w.Flush();
    w.Close();
    Reader.Close();
    SqlConn.Close(); 
    Response.Redirect ("Data\\EmpInfoStaticResult.xls");
  }
  catch
  {
    w.Close();
    SqlConn.Close();
    return;
  }   
}

posted on 2004-09-07 16:59  KK的Blog  阅读(459)  评论(0)    收藏  举报

导航