很多的Web后台管理系统都可以已Excel的形式将网站中数据导出,方便管理员处理数据。
下面已在.net网页中导出用户信息为例。
1、创建Web页面,如:OutputExcel.aspx
2、创建用户信息实体类
/// <summary>
/// 用户信息实体类
/// </summary>
public class UserInfo {
public int UserId { get; set; }
public string UserName { get; set; }
public string Address { get; set; }
}
3、获取用户信息
/// <summary>
/// 获取用户信息
/// </summary>
/// <returns></returns>
public List<UserInfo> GetUserInfoList()
{
List<UserInfo> userList = new List<UserInfo>();
UserInfo user1 = new UserInfo() {
UserId = 1,
UserName ="张三",
Address="广东深圳"
};
UserInfo user2 = new UserInfo()
{
UserId = 2,
UserName = "李四",
Address = "山西太原"
};
UserInfo user3 = new UserInfo()
{
UserId = 3,
UserName = "王五",
Address = "湖南长沙"
};
userList.Add(user1);
userList.Add(user2);
userList.Add(user3);
return userList;
}
3、生成和导出CSV文件
protected void Page_Load(object sender, EventArgs e)
{
//获取用户信息列表
List<UserInfo> userList = GetUserInfoList();
if (userList != null && userList.Count > 0)
{
#region 生成CSV
Response.Clear();
Response.ContentType = "application/vnd.ms-excel";
Response.ContentEncoding = System.Text.Encoding.Default;
string fileName = "用户信息";
Response.AddHeader("content-disposition", "attachment; filename=" + fileName + ".csv");
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.AppendLine("用户ID,用户名,地址");
foreach (UserInfo item in userList)
{
System.Text.StringBuilder rowBuilder = new System.Text.StringBuilder();
rowBuilder.Append(item.UserId.ToString() + ",");
rowBuilder.Append(item.UserName + ",");
rowBuilder.Append(item.Address + ",");
sb.AppendLine(rowBuilder.ToString());
}
//输出
Response.Write(sb.ToString());
Response.End();
#endregion
}
}