有一种最简单的方法,但可能不是最高效的。生成dataset, 使用一个 StringBuilder()对象,遍历dataset中的一个表,生成一个完整的HTML 表格。 然后将些 stringbuilder的内容存为一个扩展名为 xls的文件,再转向该文件。此时它会自动把HTML表格转换成 Excel文件。StringBuilder sb = new StringBuilder();
sb.Append("<table>");
sb.Append("<tr><td>ID</td><td>Name</td></tr>");for (int i=0;i<dt.Rows.Count;i++)
{
sb.Append("<tr><td>" + dt.Rows[i]["ID"].ToString() + "</td><td>" + dt.Rows[i]["Name"].ToString() + "</td></tr>");
}
sb.Append("</table>");//存到文件
FileStream xlsFile = new FileStream("yourpath/yourname.xls", FileMode.OpenOrCreate);
StreamWriter sw = new StreamWriter(xlsFile);
sw.Write(sb.ToString());
sw.Close();
xlsFile.Close();
//转到该EXCEL文件:
Response.Redirect("yourvirtualpath/yourname.xls");
要引用 using System.Text;
sb.Append("<table>");
sb.Append("<tr><td>ID</td><td>Name</td></tr>");for (int i=0;i<dt.Rows.Count;i++)
{
sb.Append("<tr><td>" + dt.Rows[i]["ID"].ToString() + "</td><td>" + dt.Rows[i]["Name"].ToString() + "</td></tr>");
}
sb.Append("</table>");//存到文件
FileStream xlsFile = new FileStream("yourpath/yourname.xls", FileMode.OpenOrCreate);
StreamWriter sw = new StreamWriter(xlsFile);
sw.Write(sb.ToString());
sw.Close();
xlsFile.Close();
//转到该EXCEL文件:
Response.Redirect("yourvirtualpath/yourname.xls");
要引用 using System.Text;
解决方案 »
- 请教listview高级操作
- 我调用webservice方法返回一个string类型存放的XML文件,然后我想把这个里面的数据存到本地该怎么做
- vs08的错误:分析器错误
- asp.net如何实现直接上传,不用上传控件
- 对于疯狂刷新程序会出现:System.Data.OleDb.OleDbException: 未指定的
- System.Data.SqlClient.SqlCommand 并不包含对“Fill”的定义,怎么解决?
- 我在ASP.NET中新加了一个类文件,怎么无法使用APPLICATION对象??
- 欢迎大家都来讨论:100分相送
- 微软专家在线聊天--怎样在.NET Framework中使用DataGrid Control--纪录
- 简单的问题
- 有关DataGrid数据定位的问题
- 我希望在datagrid控件中加入一个序号列,显示当前行数,该怎么做?谢谢
记得原来在asp中
写
<%Response.ContentType = "application/vnd.ms-excel"%>
就可以动态产生excel供下载,并不会在服务器上生成excel,
asp.net中可实现吗?