Пример #1
0
        public string DealFeedExcel(HttpPostedFileBase file)
        {
            //以字符流的形式下载文件
            var zip       = new ChineseFeedHelper();
            var csvHelper = new ExcelTemplateHelper <HotelFeedModel>(file, zip.FeedXmlProcess);

            csvHelper.Run();

            var ss = Serializer.Serialize(zip.TargetListing);

            return(ss);
        }
        public string ExportExcel(List <AttendanceTrackingEntity> lst2, double totalAbsent, int totalTimeLate, int totalTimesLate, int totalTimeEarly, int totalTimesEarly, int totalMinutesOverTime, int forgetTracking, double work, string FromDate, string ToDate)
        {
            MemoryStream st          = new MemoryStream();
            string       UrlTemplate = ControllerContext.HttpContext.Server.MapPath(@"~/Template/AttendanceTrackingExportTemplate.xlsx");

            using (ExcelTemplateHelper helper = new ExcelTemplateHelper(UrlTemplate, st))
            {
                helper.DeleteSheetTemplate = false;
                helper.Direction           = ExcelTemplateHelper.DirectionType.TOP_TO_DOWN;
                #region San luong-Doanh thu
                helper.CurrentSheetName = "Cham-Cong";
                helper.TempSheetName    = "Sheet1";
                helper.CurrentPosition  = new CellPosition("A1");

                var datas = new List <dynamic>();
                for (int i = 0; i < lst2.Count(); i++)
                {
                    var temp = new
                    {
                        Items = new List <dynamic>(),
                    };
                    temp.Items.Add(new
                    {
                        MaNhanVien   = lst2[i].IdEmployee,
                        TenNhanVien  = lst2[i].NameEmployee,
                        NgayChamCong = lst2[i].DateCheck.ToString("dd/MM/yyyy"),
                        Thu          = lst2[i].DayOfWeek == "Sunday"? "Chủ Nhật":(lst2[i].DayOfWeek == "Monday" ? "Thứ Hai" : (lst2[i].DayOfWeek == "Tuesday" ? "Thứ Ba" : (lst2[i].DayOfWeek == "Wednesday" ? "Thứ Tư" : (lst2[i].DayOfWeek == "Thursday" ? "Thứ Năm" : (lst2[i].DayOfWeek == "Friday" ? "Thứ Sáu" : (lst2[i].DayOfWeek == "Saturday" ? "Thứ Bảy" : "")))))),
                        GioVao       = lst2[i].CheckIn,
                        GioRa        = lst2[i].CheckOut,
                        DenTre       = lst2[i].TimeLate <= 0 ? 0 : lst2[i].TimeLate,
                        VeSom        = lst2[i].TimeEarly <= 0 ? 0 : lst2[i].TimeEarly,
                        Cong         = String.Format("{0:0.00}", lst2[i].Work),
                        TangCa       = lst2[i].OverTime,
                        VangMat      = lst2[i].Absent
                    });
                    datas.Add(temp);
                }
                var param4 = new
                {
                    DenMuon                 = (totalTimeLate / 60).ToString() + "h:" + (totalTimeLate % 60).ToString() + "p",
                    SoLanDenMuon            = totalTimesLate,
                    VeSom                   = (totalTimeEarly / 60).ToString() + "h:" + (totalTimeEarly % 60).ToString() + "p",
                    SoLanVeSom              = totalTimesEarly,
                    TongThoiGianTangCa      = (totalMinutesOverTime / 60).ToString() + "h:" + (totalMinutesOverTime % 60).ToString() + "p",
                    SolanKhongChamCongKhiVe = forgetTracking,
                    TongSoCong              = String.Format("{0:0.00}", work),
                    TuNgay                  = FromDate,
                    DenNgay                 = ToDate,
                    SoNgayVang              = totalAbsent,
                };
                var temp1 = helper.CreateTemplate("header");
                var temp2 = helper.CreateTemplate("item");
                //var temp3 = helper.CreateTemplate("total");
                //var temp4 = helper.CreateTemplate("footer");

                helper.InsertData(temp1, param4);
                for (int i = 0; i < datas.Count; i++)
                {
                    helper.InsertDatas(temp2, datas[i].Items);
                    //helper.InsertData(temp3, datas[i].Total);
                }
                //helper.InsertData(temp4, param4.footer);
                helper.CopyWidth();
                #endregion
                helper.DeleteSheet("Sheet1");
            }
            string     fileName   = string.Format("Export_AttendanceTracking_{0}.xlsx", DateTime.Now.ToString("dd-MM-yyyy hh-mm-ss"));
            FileStream fileStream = new FileStream(Server.MapPath(@"~/Download/" + fileName), FileMode.Create, FileAccess.Write);
            st.WriteTo(fileStream);
            fileStream.Close();
            return(fileName);
        }
Пример #3
0
        public EnglishFeedFile DealReviewFeed(HttpFileCollectionBase files)
        {
            //byte[] result = null;
            string host = Request.Params["Host"];
            string lang = Request.Params["Lang"];

            var englishFile = new EnglishFeedFile();

            if (files != null && files.Count > 0)
            {
                for (var i = 0; i < files.Count; i++)
                {
                    HttpPostedFileBase file = files[i];
                    if (file != null && file.FileName.Contains("english"))
                    {
                        using (ExcelTemplateHelper <HotelFeedModel> exHelper = new ExcelTemplateHelper <HotelFeedModel>(file, englishFile.FeedXmlProcess))
                        {
                            exHelper.Run();
                        }

                        file.InputStream.Dispose();
                    }
                }

                englishFile.GetReviewList().ListModel =
                    englishFile.GetReviewList().ListModel.OrderBy(l => l.Ctriphotelid).ToList();
                englishFile.SortHotelList = englishFile.GetReviewList().ListModel.Select(l => l.Ctriphotelid).ToArray();

                for (var i = 0; i < files.Count; i++)
                {
                    HttpPostedFileBase file = files[i];

                    if (file != null && file.FileName.Contains("pic"))
                    {
                        var imageFile = new ImageDeco(englishFile, host, lang);
                        using (var imageDeco = new ExcelTemplateHelper <ImageModel>(file, imageFile.FeedXmlProcess))
                        {
                            imageDeco.Run();
                        }
                    }

                    if (file != null && file.FileName.Contains("review"))
                    {
                        var reviewFile = new ReviewDeco(englishFile, host, lang);
                        using (var reviewDeco = new ExcelTemplateHelper <ReviewModel>(file, reviewFile.FeedXmlProcess))
                        {
                            reviewDeco.Run();
                        }
                    }

                    if (file != null && file.FileName.Contains("name"))
                    {
                        var nameFile = new NameDeco(englishFile, host, lang);
                        using (var nameDeco = new ExcelTemplateHelper <NameModel>(file, nameFile.FeedXmlProcess))
                        {
                            nameDeco.Run();
                        }
                    }

                    if (file != null && file.FileName.Contains("DESC"))
                    {
                        var descFile = new DescTxtDeco(englishFile, host, lang);
                        using (var descDeco = new TxtTemplateHelper(file, descFile.FeedXmlProcess))
                        {
                            descDeco.Run();
                        }
                    }

                    file?.InputStream.Dispose();
                }

                englishFile.GetReviewList().ListModel = englishFile.GetReviewList().ListModel.Where(l => l.HasName || l.HasReview).ToList();
                //result = Serializer.SerializeToBytes(englishFile.GetReviewList());
                //result = XmlHelper.XmlSerialize(englishFile.GetReviewList(), Encoding.UTF8);
            }

            return(englishFile);
        }