|
|
|
|
|
|
static public void ExportDB2Excel(SqlDataReader r, string fn)
 {
HttpResponse Response = System.Web.HttpContext.Current.Response;
if(Response==null) return;

Response.Clear();
Response.Buffer= true;
string enfn = fn+".xls";
enfn = System.Web.HttpUtility.UrlEncode(System.Text.Encoding.UTF8.GetBytes(enfn));
Response.AppendHeader("Content-Disposition","attachment;filename="+enfn);
Response.ContentType = "application/ms-excel; charset=UTF-8";
Response.Charset = "UTF-8";

Response.Write("<meta http-equiv=Content-Type content=\"text/html; charset=UTF-8\">");
Response.Write("<style>\r\n");
Response.Write(".x_excel\r\n");
Response.Write("{mso-number-format:\"\\@\"}\r\n");
Response.Write(".x_excel\r\n");
Response.Write("</style>\r\n");
try
 {
Response.Write("<table border='1'>");
Response.Write("<tr>");
for(int i=0; i<r.FieldCount;i++)
 {
Response.Write("<td>"+r.GetName(i)+"</td>");
}
Response.Write("</tr>");
while(r.Read())
 {
Response.Write("<tr>");
for(int i=0; i<r.FieldCount; i++)
 {
if(r.GetName(i).IndexOf("号")!=-1)
 {
Response.Write("<td class='x_excel'>"+r.GetValue(i)+"</td>");
}
else
 {
Response.Write("<td>"+r.GetValue(i)+"</td>");
}
}
Response.Write("</tr>");
}
Response.Write("</table>");
}
finally
 {
r.Close();
}
Response.End();

}

static public void ExportDB2Excel(DataTable dt, string fn)
 {
StringBuilder sb = new StringBuilder();
foreach(DataColumn dc in dt.Columns)
 {
sb.Append(dc.ColumnName);
sb.Append(":");
sb.Append(dc.ColumnName);
sb.Append(";");
}
ExportDB2Excel(dt, fn, sb.ToString(0, sb.Length-1));
}

static public void ExportDB2Excel(DataTable dt, string fn, string fieldsStr)
 {
HttpResponse Response = System.Web.HttpContext.Current.Response;
if(Response==null) return;

Response.Clear();
Response.Buffer= true;
string enfn = fn+".xls";
enfn = System.Web.HttpUtility.UrlEncode(System.Text.Encoding.UTF8.GetBytes(enfn));
Response.AppendHeader("Content-Disposition","attachment;filename="+enfn);
Response.ContentType = "application/ms-excel; charset=UTF-8";
Response.Charset = "UTF-8";

Response.Write("<meta http-equiv=Content-Type content=\"text/html; charset=UTF-8\">");
Response.Write("<style>\r\n");
Response.Write(".x_excel\r\n");
Response.Write("{mso-number-format:\"\\@\"}\r\n");
Response.Write(".x_excel\r\n");
Response.Write("</style>\r\n");
Response.Write("<table border='1'>");
Response.Write("<tr>");

string[] fields = fieldsStr.Split(';');
foreach(string s in fields)
 {
Response.Write("<td>"+s.Substring(s.IndexOf(":")+1)+"</td>");
}
Response.Write("</tr>");
foreach(DataRow dr in dt.Rows)
 {
Response.Write("<tr>");
foreach(string s in fields)
 {
string fieldname = s.Substring(0,s.IndexOf(":"));
string fieldcap = s.Substring(s.IndexOf(":")+1);
if(fieldcap.IndexOf("号")!=-1)
 {
Response.Write("<td class='x_excel'>" + dr[fieldname] + "</td>");
}
else
 {
Response.Write("<td>" + dr[fieldname] + "</td>");
}
}
Response.Write("</tr>");
}
Response.Write("</table>");
Response.End();
}
|
|