从datareader生成excel
public void Export2Excel(Object Sender, EventArgs E) { // 将当前查询的数据导入Excel中 SqlConnection SqlConn = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]); // 设置为true,则在当前的数据上追加数据,否则,重写当前数据 StreamWriter w = new StreamWriter(Server.MapPath("Data\\EmpDimissionResult.xls"), false, Encoding.Default); SqlConn.Open(); try { SqlCommand SqlCmd = SqlConn.CreateCommand(); SqlCmd.CommandText = 你的SQL语句; 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\\EmpDimissionResult.xls"); } catch { w.Close(); SqlConn.Close(); return; } } |
