| | |
| | | using CY.Model; |
| | | using CY.Infrastructure.Query; |
| | | using CY.Infrastructure.Common; |
| | | using NPOI.SS.UserModel; |
| | | using NPOI.XSSF.UserModel; |
| | | using System.IO; |
| | | |
| | | namespace CY.WebForm.Pages.work |
| | | { |
| | |
| | | { |
| | | BindList(); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | //查询事件 |
| | | protected void btn_Daochu_Click(object src, EventArgs e) |
| | | { |
| | | |
| | | byte[] fileBytes = ExportToExcel(); |
| | | if (fileBytes != null) |
| | | { |
| | | Response.Clear(); |
| | | Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; |
| | | Response.AppendHeader("Content-Disposition", "attachment; filename=报销付款导出.xlsx"); |
| | | Response.BinaryWrite(fileBytes); |
| | | Response.End(); |
| | | } |
| | | else |
| | | { |
| | | // 处理导出失败的情况 |
| | | Response.Write("导出失败,请稍后重试!"); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | public byte[] ExportToExcel() |
| | | { |
| | | byte[] bt = null; |
| | | try |
| | | { |
| | | Pagination pa = new Pagination(); |
| | | DateTime? beginTime = null; |
| | | DateTime? endTime = null; |
| | | pa.PageSize = 10000; |
| | | pa.PageIndex = 1; |
| | | var oA_WorkPlans = bll_OA_WorkPlanBll.SelectModelPage(pa, CurrentUser.MemberId, Guid.Empty, Guid.Empty, 3, 17, "", null, null, string.IsNullOrEmpty(this.txtRegTimeStart.Value) ? beginTime : Convert.ToDateTime(this.txtRegTimeStart.Value), string.IsNullOrEmpty(this.txtRegTimeEnd.Value) ? endTime : Convert.ToDateTime(this.txtRegTimeEnd.Value), this.txtPlanPeople.Value.Trim(), -1, 1, this.selEvaluationStatus.Value.ToInt32(), null, this.TxtRewardContent.Value.Trim(), this.txtPlanContent.Value.Trim()); |
| | | |
| | | |
| | | // 创建工作簿 |
| | | IWorkbook workbook = new XSSFWorkbook(); |
| | | ISheet sheet = workbook.CreateSheet("导出数据"); |
| | | |
| | | // 创建表头 |
| | | IRow headerRow = sheet.CreateRow(0); |
| | | headerRow.CreateCell(0).SetCellValue("编号"); |
| | | headerRow.CreateCell(1).SetCellValue("申请日期"); |
| | | headerRow.CreateCell(2).SetCellValue("报销单号"); |
| | | headerRow.CreateCell(3).SetCellValue("部门"); |
| | | headerRow.CreateCell(4).SetCellValue("姓名"); |
| | | headerRow.CreateCell(5).SetCellValue("科目"); |
| | | headerRow.CreateCell(6).SetCellValue("摘要"); |
| | | headerRow.CreateCell(7).SetCellValue("金额"); |
| | | headerRow.CreateCell(8).SetCellValue("付款状态"); |
| | | headerRow.CreateCell(9).SetCellValue("审批人1"); |
| | | headerRow.CreateCell(10).SetCellValue("审批时间1"); |
| | | headerRow.CreateCell(11).SetCellValue("审批结果1"); |
| | | headerRow.CreateCell(12).SetCellValue("审批人2"); |
| | | headerRow.CreateCell(13).SetCellValue("审批时间2"); |
| | | headerRow.CreateCell(14).SetCellValue("审批结果2"); |
| | | headerRow.CreateCell(15).SetCellValue("审批人3"); |
| | | headerRow.CreateCell(16).SetCellValue("审批时间3"); |
| | | headerRow.CreateCell(17).SetCellValue("审批结果3"); |
| | | |
| | | // 添加数据 |
| | | int rowIndex = 1; |
| | | foreach (var order in oA_WorkPlans) |
| | | { |
| | | IRow row = sheet.CreateRow(rowIndex++); |
| | | row.CreateCell(0).SetCellValue((rowIndex-1).ToString()); |
| | | row.CreateCell(1).SetCellValue(order.PlanStartTime.Value.ToString("yyyy-MM-dd HH:mm:ss")); |
| | | row.CreateCell(2).SetCellValue(order.EvaluationContent); |
| | | row.CreateCell(3).SetCellValue(order.DepartName); |
| | | row.CreateCell(4).SetCellValue(order.PlanPeople); |
| | | row.CreateCell(5).SetCellValue(order.RewardContent); |
| | | row.CreateCell(6).SetCellValue(order.PlanContent); |
| | | row.CreateCell(7).SetCellValue(order.PlanMoney.ToString()); |
| | | row.CreateCell(8).SetCellValue(order.EvaluationStatusName); |
| | | var oA_WorkPlan_Shenpis = oA_WorkPlan_ShenpiBLL.GetModelByKaipiaoId(order.Keyid.Value).OrderBy(x => x.Keyid).ToList(); |
| | | foreach (var a_WorkPlan_Shenpi in oA_WorkPlan_Shenpis) |
| | | { |
| | | var oA_Staff = oA_StaffBLL.GetModelByMemberId(a_WorkPlan_Shenpi.ApprovalStaffId); |
| | | if (oA_Staff != null) |
| | | { |
| | | a_WorkPlan_Shenpi.ApprovalStaffName = oA_Staff.Name; |
| | | } |
| | | } |
| | | if (oA_WorkPlan_Shenpis.Count > 0) |
| | | { |
| | | row.CreateCell(9).SetCellValue(oA_WorkPlan_Shenpis[0].ApprovalStaffName); |
| | | row.CreateCell(10).SetCellValue(oA_WorkPlan_Shenpis[0].ApprovalTime.Value.ToString("yyyy-MM-dd HH:mm:ss")); |
| | | row.CreateCell(11).SetCellValue(oA_WorkPlan_Shenpis[0].ApprovalStatusName); |
| | | |
| | | } |
| | | if (oA_WorkPlan_Shenpis.Count > 1) |
| | | { |
| | | row.CreateCell(12).SetCellValue(oA_WorkPlan_Shenpis[1].ApprovalStaffName); |
| | | row.CreateCell(13).SetCellValue(oA_WorkPlan_Shenpis[1].ApprovalTime.Value.ToString("yyyy-MM-dd HH:mm:ss")); |
| | | row.CreateCell(14).SetCellValue(oA_WorkPlan_Shenpis[1].ApprovalStatusName); |
| | | |
| | | } |
| | | if (oA_WorkPlan_Shenpis.Count > 2) |
| | | { |
| | | row.CreateCell(15).SetCellValue(oA_WorkPlan_Shenpis[2].ApprovalStaffName); |
| | | row.CreateCell(16).SetCellValue(oA_WorkPlan_Shenpis[2].ApprovalTime.Value.ToString("yyyy-MM-dd HH:mm:ss")); |
| | | row.CreateCell(17).SetCellValue(oA_WorkPlan_Shenpis[2].ApprovalStatusName); |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | // 将工作簿写入内存流 |
| | | using (var ms = new MemoryStream()) |
| | | { |
| | | workbook.Write(ms); |
| | | bt = ms.ToArray(); |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | bt = null; |
| | | // 记录日志 |
| | | |
| | | } |
| | | return bt; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | } |