这个是主程序,其中调用了下面的代码
Code
System.Web.HttpContext.Current.Response.Clear();
System.Web.HttpContext.Current.Response.Buffer = true;
System.Web.HttpContext.Current.Response.Charset = "GB2312";
System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + strFileName);
System.Web.HttpContext.Current.Response.ContentEncoding = Encoding.GetEncoding("GB2312");
System.Web.HttpContext.Current.Response.ContentType = "application/ms-excel";
System.Web.HttpContext.Current.Response.Write(ExportTable(dsResults));
System.Web.HttpContext.Current.Response.End();
System.Web.HttpContext.Current.Response.Clear();
System.Web.HttpContext.Current.Response.Buffer = true;
System.Web.HttpContext.Current.Response.Charset = "GB2312";
System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + strFileName);
System.Web.HttpContext.Current.Response.ContentEncoding = Encoding.GetEncoding("GB2312");
System.Web.HttpContext.Current.Response.ContentType = "application/ms-excel";
System.Web.HttpContext.Current.Response.Write(ExportTable(dsResults));
System.Web.HttpContext.Current.Response.End();
下面是被调用的代码,将DATASET编写成为HTML格式。
Code
根据DS生成HTML字符串#region 根据DS生成HTML字符串
public static string ExportTable(DataSet ds)
{
string data = "";
string cellStyle = string.Empty;
foreach (DataTable tb in ds.Tables)
{
//data += tb.TableName + "\n";
data += "<table cellspacing=\"0\" cellpadding=\"5\" rules=\"all\" border=\"1\">";
//写出列名
data += "<tr style=\"font-weight: bold; white-space: nowrap;\">";
foreach (DataColumn column in tb.Columns)
{
data += "<td style=\"background-color:Silver;\">" + column.ColumnName + "</td>";
}
data += "</tr>";
//写出数据
foreach (DataRow row in tb.Rows)
{
data += "<tr>";
cellStyle = string.Empty;
if ((row["Comment"] != null)&&(row["Comment"].ToString() != string.Empty))
{
cellStyle = "background-color:Yellow;";
}
foreach (DataColumn column in tb.Columns)
{
//if (column.ColumnName.Equals("证件编号") || column.ColumnName.Equals("报名编号"))
// data += "<td style=\"vnd.ms-excel.numberformat:@\">" + row[column].ToString() + "</td>";
//else
// data += "<td>" + row[column].ToString() + "</td>";
data += "<td style=\"vnd.ms-excel.numberformat:@;" + cellStyle + "\">" + row[column].ToString() + "</td>";
}
data += "</tr>";
}
data += "</table>";
}
return data;
}
#endregion
根据DS生成HTML字符串#region 根据DS生成HTML字符串
public static string ExportTable(DataSet ds)
{
string data = "";
string cellStyle = string.Empty;
foreach (DataTable tb in ds.Tables)
{
//data += tb.TableName + "\n";
data += "<table cellspacing=\"0\" cellpadding=\"5\" rules=\"all\" border=\"1\">";
//写出列名
data += "<tr style=\"font-weight: bold; white-space: nowrap;\">";
foreach (DataColumn column in tb.Columns)
{
data += "<td style=\"background-color:Silver;\">" + column.ColumnName + "</td>";
}
data += "</tr>";
//写出数据
foreach (DataRow row in tb.Rows)
{
data += "<tr>";
cellStyle = string.Empty;
if ((row["Comment"] != null)&&(row["Comment"].ToString() != string.Empty))
{
cellStyle = "background-color:Yellow;";
}
foreach (DataColumn column in tb.Columns)
{
//if (column.ColumnName.Equals("证件编号") || column.ColumnName.Equals("报名编号"))
// data += "<td style=\"vnd.ms-excel.numberformat:@\">" + row[column].ToString() + "</td>";
//else
// data += "<td>" + row[column].ToString() + "</td>";
data += "<td style=\"vnd.ms-excel.numberformat:@;" + cellStyle + "\">" + row[column].ToString() + "</td>";
}
data += "</tr>";
}
data += "</table>";
}
return data;
}
#endregion
下面是我从别的地方找到的。写的是每个单元的格式
1) 文本:vnd.ms-excel.numberformat:@
2) 日期:vnd.ms-excel.numberformat:yyyy/mm/dd
3) 数字:vnd.ms-excel.numberformat:#,##0.00
4) 货币:vnd.ms-excel.numberformat:¥#,##0.00
5) 百分比:vnd.ms-excel.numberformat: #0.00%