コード例 #1
0
        public FileResult ExportExcel(SystemUserPagingInput paging)
        {
            ExcelReportDto excelReportDto = new ExcelReportDto()
            {
                TemplatePath     = Server.MapPath("/") + "Templates/System/User/用户导出模版.xlsx",
                DownTemplatePath = "用户信息" + string.Format("{0:yyyyMMddHHmmssffff}", DateTime.Now) + ".xlsx",
                Title            = "用户信息.xlsx"
            };

            _userInfoLogic.ReportExcelUserQuery(paging, excelReportDto);
            return(File(new FileStream(excelReportDto.DownPath, FileMode.Open), "application/octet-stream", Server.UrlEncode(excelReportDto.Title)));
        }
コード例 #2
0
ファイル: LogController.cs プロジェクト: woshisunzewei/EIP
        public async Task <FileResult> ExportExcelToOperationLog(QueryParam paging)
        {
            ExcelReportDto excelReportDto = new ExcelReportDto()
            {
                TemplatePath     = Server.MapPath("/") + "DataUser/Templates/System/Log/操作日志.xlsx",
                DownTemplatePath = "操作日志" + string.Format("{0:yyyyMMddHHmmssffff}", DateTime.Now) + ".xlsx",
                Title            = "操作日志.xlsx"
            };
            await _operationLogLogic.ReportExcelOperationLogQuery(paging, excelReportDto);

            return(File(new FileStream(excelReportDto.DownPath, FileMode.Open), "application/octet-stream", Server.UrlEncode(excelReportDto.Title)));
        }
コード例 #3
0
        /// <summary>
        ///     Excel导出方式
        /// </summary>
        /// <param name="paging">查询参数</param>
        /// <param name="excelReportDto"></param>
        /// <returns></returns>
        public async Task <OperateStatus> ReportExcelUserQuery(SystemUserPagingInput paging,
                                                               ExcelReportDto excelReportDto)
        {
            var operateStatus = new OperateStatus();

            try
            {
                //组装数据
                IList <SystemUserOutput> dtos = (await _userInfoRepository.PagingUserQuery(paging)).Data.ToList();
                var tables = new Dictionary <string, DataTable>(StringComparer.OrdinalIgnoreCase);
                //组装需要导出数据
                var dt = new DataTable("User");
                dt.Columns.Add("Num");
                dt.Columns.Add("Code");
                dt.Columns.Add("Name");
                dt.Columns.Add("OrganizationName");
                dt.Columns.Add("Mobile");
                dt.Columns.Add("IsFreeze");
                dt.Columns.Add("CreatTime");
                dt.Columns.Add("FirstVisitTime");
                dt.Columns.Add("LastVisitTime");
                dt.Columns.Add("Remark");
                var num = 1;
                if (dtos.Any())
                {
                    foreach (var dto in dtos)
                    {
                        var row = dt.NewRow();
                        dt.Rows.Add(row);
                        row[0] = num;
                        row[1] = dto.Code;
                        row[2] = dto.Name;
                        row[3] = dto.OrganizationName;
                        row[4] = dto.Mobile;
                        row[5] = dto.IsFreeze ? "是" : "否";
                        row[7] = dto.FirstVisitTime;
                        row[8] = dto.LastVisitTime;
                        row[9] = dto.Remark;
                        num++;
                    }
                }
                tables.Add(dt.TableName, dt);
                OpenXmlExcel.ExportExcel(excelReportDto.TemplatePath, excelReportDto.DownPath, tables);
                operateStatus.ResultSign = ResultSign.Successful;
            }
            catch (Exception)
            {
                operateStatus.ResultSign = ResultSign.Error;
            }
            return(operateStatus);
        }
コード例 #4
0
        public async Task <OperateStatus> ReportExcelExceptionLogQuery(QueryParam paging,
                                                                       ExcelReportDto excelReportDto)
        {
            var operateStatus = new OperateStatus();

            try
            {
                //获取总共条数
                paging.Rows = await Count();

                //组装数据
                IList <SystemExceptionLog> dtos = (await _exceptionLogRepository.PagingQueryProcAsync(paging)).Data.ToList();
                var tables = new Dictionary <string, DataTable>(StringComparer.OrdinalIgnoreCase);
                //组装需要导出数据
                var dt = new DataTable("ExceptionLog");
                dt.Columns.Add("Num");
                dt.Columns.Add("OperateTime");
                dt.Columns.Add("Code");
                dt.Columns.Add("Message");
                dt.Columns.Add("RequestUrl");
                dt.Columns.Add("ClientHost");

                var num = 1;
                if (dtos.Any())
                {
                    foreach (var dto in dtos)
                    {
                        var row = dt.NewRow();
                        dt.Rows.Add(row);
                        row[0] = num;
                        row[1] = dto.CreateTime;
                        row[2] = dto.CreateUserCode;
                        row[3] = dto.Message;
                        row[4] = dto.RequestUrl;
                        row[5] = dto.ClientHost;
                        num++;
                    }
                }
                tables.Add(dt.TableName, dt);
                OpenXmlExcel.ExportExcel(excelReportDto.TemplatePath, excelReportDto.DownPath, tables);
                operateStatus.ResultSign = ResultSign.Successful;
            }
            catch (Exception)
            {
                operateStatus.ResultSign = ResultSign.Error;
            }
            return(operateStatus);
        }
コード例 #5
0
        /// <summary>
        ///     Excel导出方式
        /// </summary>
        /// <param name="paging">查询参数</param>
        /// <param name="excelReportDto"></param>
        /// <returns></returns>
        public async Task <OperateStatus> ReportExcelUserQuery(SystemUserPagingInput paging,
                                                               ExcelReportDto excelReportDto)
        {
            var operateStatus = new OperateStatus();

            try
            {
                //组装数据
                IList <SystemUserOutput> dtos = (await _userInfoRepository.PagingUserQuery(paging)).Data.ToList();
                var tables = new Dictionary <string, DataTable>(StringComparer.OrdinalIgnoreCase);
                //组装需要导出数据

                operateStatus.ResultSign = ResultSign.Successful;
            }
            catch (Exception)
            {
                operateStatus.ResultSign = ResultSign.Error;
            }
            return(operateStatus);
        }
コード例 #6
0
        private int headerGenerator(int aCounter, string[] alphabet, Exam exam, int beforeId, ExcelReportDto item, int c, IXLWorksheet ws, int column, bool courseTitleGenerate)
        {
            //c = 3
            var cName = item.IdAndCourseName[exam.CourseID];

            ws.Cell(c, column).Value = cName;

            if (courseTitleGenerate)
            {
                ws.Range("D3:E3").Merge();
                ws.Range("F3:G3").Merge();
                ws.Range("H3:I3").Merge();
                ws.Range("J3:K3").Merge();
                ws.Range("L3:M3").Merge();
                ws.Range("N3:O3").Merge();
                ws.Range("P3:Q3").Merge();
                ws.Range("R3:S3").Merge();
                ws.Range("T3:U3").Merge();
                ws.Range("V3:W3").Merge();
                ws.Range("X3:Y3").Merge();
                ws.Range("Z3:AA3").Merge();
                ws.Range("AB3:AC3").Merge();
                ws.Range("AD3:AE3").Merge();

                //ws.Range("AF3:AG3").Merge();
            }

            c++;

            ws.Cell(c, column).Value = new PersianDateTime(exam.ExamDate).ToString("yy/MM/dd");

            if (exam.FinalGrade != 20)
            {
                var firststep    = float.Parse("20") / exam.FinalGrade;
                var changedGrade = firststep * exam.Grade;
                ws.Cell(c, column + 1).Value                = changedGrade;
                ws.Cell(c, column + 1).Style.Font.Bold      = true;
                ws.Cell(c, column + 1).Style.Font.Underline = XLFontUnderlineValues.Single;
            }
            else
            {
                ws.Cell(c, column + 1).Value = exam.Grade;
            }

            c++;

            return(c);
        }
コード例 #7
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="paging"></param>
 /// <param name="excelReportDto"></param>
 /// <returns></returns>
 public Task <OperateStatus> ReportExcelLoginLogQuery(QueryParam paging, ExcelReportDto excelReportDto)
 {
     throw new global::System.NotImplementedException();
 }