public async Task <AbpFileUploadResultModel> ExportExcle() { var query = from m in _supplyRepository.GetAll() //join u in _userRepository.GetAll() on m.CreatorUserId equals u.Id select new SupplyListDto() { Code = m.Code, Id = m.Id, CreationTime = m.CreationTime, ExpiryDate = m.ExpiryDate, Money = m.Money, Name = m.Name, ProductDate = m.ProductDate, Status = m.Status, Type = m.Type, Unit = m.Unit, UserId = m.UserId, Version = m.Version, //CreationUserName = u.Name, LastModificationTime = m.LastModificationTime.Value, PutInDate = m.PutInDate, }; var dt = new DataTable("用品总台账"); dt.Columns.Add("编号", typeof(String)); dt.Columns.Add("名称", typeof(String)); dt.Columns.Add("品牌型号", typeof(String)); dt.Columns.Add("类别", typeof(String)); dt.Columns.Add("单价(元)", typeof(decimal)); dt.Columns.Add("领用日期", typeof(DateTime)); dt.Columns.Add("入库日期", typeof(DateTime)); dt.Columns.Add("检定到期日期", typeof(DateTime)); dt.Columns.Add("状态", typeof(String)); foreach (var item in query) { dt.Rows.Add(new object[] { item.Code, item.Name, item.Version, ((SupplyType)item.Type).ToString(), item.Money, item.ProductDate, item.PutInDate, item.ExpiryDate, ((SupplyStatus)item.Status).ToString() }); } var abpExcleManager = AbpBootstrapper.Create <Abp.Modules.AbpModule>().IocManager.IocContainer.Resolve <AbpExcleManager>(); string filePath = hostingEnv.WebRootPath + $@"/Files/makeExcel/supply/{DateTime.Now.Year}/{DateTime.Now.Month}/"; if (!Directory.Exists(filePath)) { Directory.CreateDirectory(filePath); } var userName = (await UserManager.GetUserByIdAsync(AbpSession.UserId.Value)).Name; var fileName = $"用品总台账_{DateTime.Now.ToString("yyyyMMdd")}"; var fileExtend = ".xls"; string fileFullName = filePath + fileName + fileExtend; abpExcleManager.WriteExcel(dt, fileFullName); var entity = new AbpFile() { Id = Guid.NewGuid(), FileName = fileName + fileExtend, FileExtend = fileExtend, FileSize = 0, FilePath = fileFullName, }; _abpFilerepository.Insert(entity); var ret = new AbpFileUploadResultModel() { Id = entity.Id, FileName = entity.FileName + entity.FileExtend, Size = 0, FileExtend = entity.FileExtend, }; return(ret); }
public async Task <AbpFileUploadResultModel> ExportExcle() { var query = from m in _userSupplyRepository.GetAll() join b in UserManager.Users on m.UserId equals b.Id join u in _supplyBaseRepository.GetAll() on m.SupplyId equals u.Id join ownerUser in UserManager.Users on u.UserId equals "u_" + ownerUser.Id into g from ou in g.DefaultIfEmpty() where b.Id == AbpSession.UserId.Value && m.Status != (int)UserSupplyStatus.已退还 && m.Status != (int)UserSupplyStatus.已报废 select new UserSupplyListDto() { Id = m.Id, Unit = u.Unit, SupplyId = u.Id, SupplyType = u.Type, Supply_Code = u.Code, Supply_Money = u.Money, Supply_Name = u.Name, Supply_Version = u.Version, Status = m.Status, StartTime = m.StartTime, EndTime = m.EndTime, Supply_UserId = u.UserId, CreationTime = m.CreationTime, SupplyTypeTitle = ((SupplyType)u.Type).ToString(), StatusTitle = ((UserSupplyStatus)m.Status).ToString(), Supply_UserId_Name = ou == null ? "" : ou.Name, }; var dt = new DataTable("用品清单"); dt.Columns.Add("编号", typeof(String)); dt.Columns.Add("名称", typeof(String)); dt.Columns.Add("品牌型号", typeof(String)); dt.Columns.Add("类别", typeof(String)); dt.Columns.Add("单价(元)", typeof(decimal)); dt.Columns.Add("用户", typeof(String)); dt.Columns.Add("领用日期", typeof(DateTime)); dt.Columns.Add("检定到期日期", typeof(DateTime)); dt.Columns.Add("状态", typeof(String)); foreach (var item in query) { dt.Rows.Add(new object[] { item.Supply_Code, item.Supply_Name, item.Supply_Version, item.SupplyTypeTitle, item.Supply_Money, item.Supply_UserId_Name, item.StartTime, item.EndTime, item.StatusTitle }); } var abpExcleManager = AbpBootstrapper.Create <Abp.Modules.AbpModule>().IocManager.IocContainer.Resolve <AbpExcleManager>(); string filePath = hostingEnv.WebRootPath + $@"/Files/makeExcel/userSupply/{DateTime.Now.Year}/{DateTime.Now.Month}/"; if (!Directory.Exists(filePath)) { Directory.CreateDirectory(filePath); } var userName = (await UserManager.GetUserByIdAsync(AbpSession.UserId.Value)).Name; var fileName = $"{userName}-个人用品清单"; var fileExtend = ".xls"; string fileFullName = filePath + fileName + fileExtend; abpExcleManager.WriteExcel(dt, fileFullName); var entity = new AbpFile() { Id = Guid.NewGuid(), FileName = fileName + fileExtend, FileExtend = fileExtend, FileSize = 0, FilePath = fileFullName, }; _abpFilerepository.Insert(entity); var ret = new AbpFileUploadResultModel() { Id = entity.Id, FileName = entity.FileName + entity.FileExtend, Size = 0, FileExtend = entity.FileExtend, }; return(ret); }