日期:2014-05-17 浏览次数:20497 次
private void CreateExcel(DataTable table, string fileName) { Random r = new Random(); string rf = ""; for (int j = 0; j < 10; j++) { rf = r.Next(int.MaxValue).ToString(); } HttpContext context = HttpContext.Current; context.Response.Clear(); context.Response.ContentType = "text/csv"; context.Response.ContentEncoding = System.Text.Encoding.UTF8; context.Response.AppendHeader("Content-Disposition", "attachment; filename=" + fileName + rf + ".xls"); context.Response.BinaryWrite(System.Text.Encoding.UTF8.GetPreamble()); foreach (DataColumn column in table.Columns) { context.Response.Write(column.ColumnName + ","); //context.Response.Write(column.ColumnName + "(" + column.DataType + "),"); } context.Response.Write(Environment.NewLine); double test; foreach (DataRow row in table.Rows) { for (int i = 0; i < table.Columns.Count; i++) { switch (table.Columns[i].DataType.ToString()) { case "System.String": if (double.TryParse(row[i].ToString(), out test)) context.Response.Write("="); context.Response.Write("\"" + row[i].ToString().Replace("\"", "\"\"") + "\","); break; case "System.DateTime": if (row[i].ToString() != "") context.Response.Write("\"" + ((DateTime)row[i]).ToString("yyyy-MM-dd hh:mm:ss") + "\","); else context.Response.Write("\"" + row[i].ToString().Replace("\"", "\"\"") + "\","); break; default: context.Response.Write("\"" + row[i].ToString().Replace("\"", "\"\"") + "\","); break; } } context.Response.Write(Environment.NewLine); } context.Response.End(); }