您的位置:首页 > 编程语言 > ASP

Asp.net Excel导入或导出

2010-12-17 20:12 274 查看
导入

代码

/**fileName:要导出的Excel文件名(自定义) ds:导出的内容**/
public static void ExportDsToXls(Page page, string fileName, DataSet ds)
{
page.Response.Clear();
page.Response.Buffer = true;
page.Response.Charset = "UTF-8";
page.Response.AppendHeader("Content-Disposition", "attachment;filename=" + fileName + System.DateTime.Now.ToString("_yyMMdd_hhmm") + ".xls");
page.Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");//设置输出流为简体中文
page.Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
page.EnableViewState = false;
page.Response.Write(ExportTable(ds));
page.Response.End();
}

/**Excel导出 可以当做HTML 来处理**/
public static string ExportTable(DataSet ds)
{
StringBuilder data =new StringBuilder();
//data = ds.DataSetName + "\n";
//防止出现中文乱码
data.Append("<html><head><meta http-equiv=Content-Type content=\"text/html; charset=utf-8\">");
foreach (DataTable tb in ds.Tables)
{
data.Append("<table cellpadding='1' style='border-collapse:collapse;'>");
//写出列名
data.Append("<tr>");
foreach (DataColumn column in tb.Columns)
{
data.Append("<td style='border:solid 1px black;text-align:center'><b>" + column.ColumnName + "</b></td>");
}
data.Append( "</tr>");

//写出数据
foreach (DataRow row in tb.Rows)
{
data.Append( "<tr>");
foreach (DataColumn column in tb.Columns)
{

//列出 所有的列值 以下代码按照自身需求而定
if (column.ColumnName == "No.")
data.Append("<td style='border:solid 1px #cccccc;text-align:center'>" + row[column].ToString() + "#</td>");
else
data.Append("<td style='border:solid 1px #cccccc;text-align:center'>" + row[column].ToString() + "</td>");
}
data.Append( "</tr>");
}
data.Append( "</table>");
}
data.Append("</body></html>");

return data.ToString();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: