/// <summary>
/// 自动绑定头部标题和值
/// </summary>
/// <returns></returns>
private NameValueCollection getDataFiledHeader()
{
NameValueCollection nv = new NameValueCollection();
nv.Add("WayPostName", "招聘信息名称");
nv.Add("PostName", "职位名称");
nv.Add("DepartmentName", "部门名称");
nv.Add("JoName", "职位类别");
nv.Add("JobTag", "职位标签");
nv.Add("Benefits", "福利待遇");
nv.Add("WorkYears", "工作经验");
nv.Add("StartMoney", "最低薪资");
nv.Add("EndMoney", "最高薪资");
nv.Add("ScanNum", "浏览数");
nv.Add("FocusNum", "关注数");
nv.Add("sendCount", "投递数");
nv.Add("noscan", "未查看简历数");
nv.Add("IsUrgency", "是否紧急");
nv.Add("provinceName", "省份");
nv.Add("name", "所在市区");
nv.Add("WayStatus", "招聘状态");
nv.Add("RefreshTime", "刷新时间");
nv.Add("CompanyName", "公司名称");
return nv;
}
/// <summary>
/// 导出招聘信息
/// </summary>
/// <param name="ds">要招聘的数据</param>
/// <param name="fileTitle">文件标题</param>
/// <param name="fileFormat">导出文件的格式</param>
public void OutPutWayInfo(DataSet ds, string fileTitle)
{
HttpResponse resp; //Http响应
resp = Page.Response; //页面响应
this.EnableViewState = false; //视图状态
string colHeaders = "", Is_item = ""; //头部信息和项信息
resp.ContentType = "application/ms-excel"; //导出格式
resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); //编码规范
resp.AddHeader("Content-Disposition", "attachment; filename=" + fileTitle + ".xls"); //导出文件的标题
DataTable dt = ds.Tables[0]; //定义表对象与行对象,同时使用DataSet对其值进行初始化
DataRow[] myRow = dt.Select(""); //获取到行数据
NameValueCollection nvFiledAndTitle = getDataFiledHeader();//取得数据表各列标题,标题之间以\t分割,最后一个列标题后加回车符
//循环出头部标题信息
foreach (string key in nvFiledAndTitle.Keys)
{
colHeaders += nvFiledAndTitle.Get(key) + "\t";
}
colHeaders += "\n"; //换行
resp.Write(colHeaders); //输出头部信息
//循环输出数据
foreach (DataRow row in myRow)
{
for (var j = 0; j < nvFiledAndTitle.Count; j++)
{
Is_item += row[nvFiledAndTitle.Keys[j]] + "\t";
}
Is_item += "\n"; //换行
resp.Write(Is_item); //输出数据
Is_item = ""; //清空现有行
}
//写缓冲区中的数据到HTTP头文件中
resp.End();
}
/// <summary>
/// 导出招聘
/// </summary>
protected void linkExportWayInfo_Click(object sender, EventArgs e)
{
//重新获取数据
GetAllWayInfo(0);
//标题
var wayTitle = (DateTime.Now.Year + "" + DateTime.Now.Month + "" + DateTime.Now.Day + "" + DateTime.Now.Hour + "" + DateTime.Now.Millisecond + "" + "招聘信息列表");
//导出招聘
OutPutWayInfo(ds, wayTitle);
}