public void SearchData(BaseExportFilter baseFilter, ResponseEntity responseEntity) { if (baseFilter == null) { ServiceUtility.SetResponseStatus(responseEntity, EnumResponseState.RequestCommandError); return; } baseFilter.ExportFileType = (int)EnumExportFileType.Xlsx; var tbReport = Singleton <GuarBusinessSearchDAL> .Instance.SearchDataToDataTable(baseFilter); if (tbReport == null || tbReport.Rows.Count == 0) { ServiceUtility.SetResponseStatus(responseEntity, EnumResponseState.NoResult); m_Logger.Info("未查询到数据!。"); } else { //转义枚举 foreach (DataRow item in tbReport.Rows) { item["RegionKey"] = Singleton <RedisEnumOperatorBLL> .Instance. GetRedisData(RedisEnumOperatorBLL.HashId_Region_9, item["RegionKey"].ToString()).Name; item["BranchKey"] = Singleton <RedisEnumOperatorBLL> .Instance. GetRedisData(RedisEnumOperatorBLL.HashId_Store_12, item["BranchKey"].ToString()).Name; item["ProductKey"] = Singleton <RedisEnumOperatorBLL> .Instance. GetRedisData(RedisEnumOperatorBLL.HashId_LoanKind_6, item["ProductKey"].ToString()).Name; } List <DataColumn> removeColumns = new List <DataColumn>(); //表头转换为中文,可以写在配置中,暂时在Code中指定 foreach (DataColumn col in tbReport.Columns) { if (dicEng2ChnColumn.ContainsKey(col.ColumnName)) { col.ColumnName = dicEng2ChnColumn[col.ColumnName]; } else { removeColumns.Add(col); } } //删除不需要显示的列 removeColumns.ForEach(e => tbReport.Columns.Remove(e.ColumnName)); //导出 SetExportFile(baseFilter, tbReport, responseEntity); } }
/// <summary> /// 设置输出文件 /// </summary> /// <param name="filter"></param> /// <param name="dt"></param> /// <param name="responseEntity"></param> protected void SetExportFile(BaseExportFilter filter, DataTable dt , ResponseEntity responseEntity, string sheetName = "Sheet1") { ResponseFileResult responseResult = new ResponseFileResult(); responseResult.Result = FileExportUtility.GenerateFileStream(dt, (EnumExportFileType)filter.ExportFileType, sheetName); dt = null; ServiceUtility.SetResponseStatus(responseEntity, EnumResponseState.Success); responseEntity.Results = responseResult; }
/// <summary> /// 设置输出文件 /// </summary> /// <param name="filter"></param> /// <param name="list"></param> /// <param name="responseEntity"></param> protected void SetExportFile(BaseExportFilter filter, ICollection list , ResponseEntity responseEntity, string sheetName = "Sheet1") { string[] titles = filter.Titles.Split(WebServiceConst.Separater_Comma.ToArray()).ToArray(); string[] fields = filter.Fields.Split(WebServiceConst.Separater_Comma.ToArray()).ToArray(); ResponseFileResult responseResult = new ResponseFileResult(); responseResult.Result = FileExportUtility.GenerateFileStream(titles, fields, list, (EnumExportFileType)filter.ExportFileType, sheetName); titles = null; fields = null; list = null; ServiceUtility.SetResponseStatus(responseEntity, EnumResponseState.Success); responseEntity.Results = responseResult; }