using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Linq; using System.Text; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Telerik.Web.UI; namespace VRS.Management.VSAT { public partial class ResultFailRate : BaseListPage { DataService.BLL.pro_result bll = new DataService.BLL.pro_result(); protected override void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BindResultSubject(dp_subject_name, ""); DataLoad(); } } protected override void DataLoad() { var data = getDataSet(); dataList.DataSource = data; dataList.Rebind(); } public DataSet getDataSet() { var start_date = start.SelectedDate.HasValue ? start.SelectedDate.Value.ToString("yyyy-MM-dd") : ""; var end_date = end.SelectedDate.HasValue ? end.SelectedDate.Value.ToString("yyyy-MM-dd") : ""; if (!string.IsNullOrEmpty(end_date)) { end_date = DateTime.Parse(end_date).AddDays(1).ToString("yyyy-MM-dd"); } var query = new StringBuilder(" 1 = 1 "); if (!string.IsNullOrWhiteSpace(start_date)) { query.AppendFormat(" AND examine_time >= '{0}' ", start_date); } if (!string.IsNullOrWhiteSpace(end_date)) { query.AppendFormat(" AND examine_time < '{0}' ", end_date); } if (!string.IsNullOrWhiteSpace(dp_subject_name.SelectedValue)) { query.AppendFormat(" AND subject_name = '{0}' ", dp_subject_name.SelectedValue); } var data = bll.GetFailRate(query.ToString()); return data; } protected override void GridList_PageIndexChanged(object sender, GridPageChangedEventArgs e) { DataLoad(); } protected override void GridList_PageSizeChanged(object sender, GridPageSizeChangedEventArgs e) { DataLoad(); } protected override void GridList_SortCommand(object sender, GridSortCommandEventArgs e) { DataLoad(); } protected override void GrdList_DeleteCommand(object sender, GridCommandEventArgs e) { string Id = (e.Item as GridDataItem).OwnerTableView.DataKeyValues[e.Item.ItemIndex]["Id"].ToString(); bll.Delete(Id); DataLoad(); } protected override void AjaxManager_AjaxRequest(object sender, AjaxRequestEventArgs e) { } protected void btnSelect_Click(object sender, EventArgs e) { DataLoad(); } protected void btnDelete_Click(object sender, EventArgs e) { bll.Delete(IdInput.Value); DataLoad(); } public void getvalue() { } /// /// 导出excel /// /// /// protected void btnExport_Click(object sender, EventArgs e) { var data = getDataSet().Tables[0]; string filePath = Server.MapPath("~/Download/"); if (!Directory.Exists(filePath)) { Directory.CreateDirectory(filePath); } string fileName = string.Format("{0}.xls", "步骤出错率_" + DateTime.Now.ToString("yyyyMMddHHmmss")); filePath = filePath + fileName; var table = new DataTable(); table.Columns.Add("科目名称"); table.Columns.Add("操作步骤"); table.Columns.Add("总次数"); table.Columns.Add("正确次数"); table.Columns.Add("错误次数"); table.Columns.Add("错误率"); for (var i = 0; i < data.Rows.Count; i++) { var item = data.Rows[i]; var row = table.NewRow(); row["科目名称"] = item["subject_name"].ToString(); row["操作步骤"] = item["tip"].ToString(); row["总次数"] = item["total"].ToString(); row["正确次数"] = item["pass"].ToString(); row["错误次数"] = item["fail"].ToString(); var fail_rate = decimal.Parse(item["fail_rate"].ToString()); var rate = Math.Round(fail_rate * 100, 2).ToString(); row["错误率"] = rate + "%"; table.Rows.Add(row); } VRS.Util.Import.DateTableToExcel(table, filePath); FileInfo fileInfo = new FileInfo(filePath); Response.Clear(); Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName); Response.AddHeader("Content-Length", fileInfo.Length.ToString()); Response.AddHeader("Content-Transfer-Encoding", "binary"); Response.ContentType = "application/octet-stream"; Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312"); Response.WriteFile(fileInfo.FullName); Response.Flush(); Response.End(); } } }