示例#1
0
        public static List <TbKlcDataMaster> ReadExcel(string filePath, TbmKlcFileImport attachFiles)
        {
            List <TbKlcDataMaster> datas = new List <TbKlcDataMaster>();

            System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
            using (var stream = System.IO.File.Open(filePath, FileMode.Open, FileAccess.Read))
            {
                using (var reader = ExcelReaderFactory.CreateReader(stream))
                {
                    int row = 0;
                    while (reader.Read()) //Each ROW
                    {
                        if (row != 0)
                        {
                            datas.Add(new TbKlcDataMaster
                            {
                                FileId               = attachFiles.Id,
                                CourseType           = reader.GetValue(0)?.ToString(),
                                CourseId             = reader.GetValue(1)?.ToString(),
                                CourseName           = reader.GetValue(2)?.ToString(),
                                CourseNameTh         = reader.GetValue(3)?.ToString(),
                                SessionId            = reader.GetValue(4)?.ToString(),
                                SessionName          = reader.GetValue(5)?.ToString(),
                                SegmentNo            = reader.GetValue(6)?.ToString(),
                                SegmentName          = reader.GetValue(7)?.ToString(),
                                StartDate            = reader.GetValue(8)?.ToString(),
                                EndDate              = reader.GetValue(9)?.ToString(),
                                StartTime            = reader.GetValue(10)?.ToString(),
                                EndTime              = reader.GetValue(11)?.ToString(),
                                CourseOwnerEmail     = reader.GetValue(12)?.ToString(),
                                CourseOwnerContactNo = reader.GetValue(13)?.ToString(),
                                Venue                    = reader.GetValue(14)?.ToString(),
                                Instructor               = reader.GetValue(15)?.ToString(),
                                CourseCreditHours        = reader.GetValue(16)?.ToString(),
                                PassingCriteriaException = reader.GetValue(17)?.ToString(),
                                UserCompany              = reader.GetValue(18)?.ToString(),
                                UserId                   = reader.GetValue(19)?.ToString(),
                                RegistrationStatus       = reader.GetValue(20)?.ToString(),
                            });
                        }
                        row++;
                    }
                }
            }
            return(datas);
        }
示例#2
0
        public static List <TbKlcDataMaster> ReadExcelEPPlus(string filePath, TbmKlcFileImport attachFiles)
        {
            List <TbKlcDataMaster> datas = new List <TbKlcDataMaster>();

            FileInfo existingFile = new FileInfo(filePath);

            using (ExcelPackage package = new ExcelPackage(existingFile))
            {
                //Get the first worksheet in the workbook
                ExcelWorksheet worksheet = package.Workbook.Worksheets[0];
                int            totalRows = worksheet.Dimension.Rows;

                CultureInfo enUS = new CultureInfo("en-US");

                for (int row = 2; row <= totalRows; row++)
                {
                    bool isEmpty = true;
                    for (int col = 1; col <= 21; col++)
                    {
                        if (!string.IsNullOrWhiteSpace(worksheet.Cells[row, col].Value?.ToString()))
                        {
                            isEmpty = false;
                        }
                    }
                    if (isEmpty)
                    {
                        continue;
                    }


                    //ค้าง Validate Data

                    _ = DateTime.TryParse(worksheet.Cells[row, 9].Value?.ToString(), out DateTime StartDate);
                    _ = DateTime.TryParse(worksheet.Cells[row, 10].Value?.ToString(), out DateTime EndDate);

                    _ = DateTime.TryParse(worksheet.Cells[row, 11].Value?.ToString(), out DateTime StartTime);
                    _ = DateTime.TryParse(worksheet.Cells[row, 12].Value?.ToString(), out DateTime EndTime);


                    DateTime.TryParseExact(StartDate.ToString("yyyyMMdd") + " " + StartTime.ToString("HH:mm:ss"), "yyyyMMdd HH:mm:ss", enUS, DateTimeStyles.None, out DateTime StartDateTime);
                    DateTime.TryParseExact(EndDate.ToString("yyyyMMdd") + " " + EndTime.ToString("HH:mm:ss"), "yyyyMMdd HH:mm:ss", enUS, DateTimeStyles.None, out DateTime EndDateTime);

                    datas.Add(new TbKlcDataMaster
                    {
                        FileId       = attachFiles.Id,
                        CourseType   = worksheet.Cells[row, 1].Value?.ToString(),
                        CourseId     = worksheet.Cells[row, 2].Value?.ToString(),
                        CourseName   = worksheet.Cells[row, 3].Value?.ToString(),
                        CourseNameTh = worksheet.Cells[row, 4].Value?.ToString(),
                        SessionId    = worksheet.Cells[row, 5].Value?.ToString(),
                        SessionName  = worksheet.Cells[row, 6].Value?.ToString(),
                        SegmentNo    = worksheet.Cells[row, 7].Value?.ToString(),
                        SegmentName  = worksheet.Cells[row, 8].Value?.ToString(),

                        StartDate = worksheet.Cells[row, 9].Value?.ToString(),
                        EndDate   = worksheet.Cells[row, 10].Value?.ToString(),

                        StartTime = worksheet.Cells[row, 11].Value?.ToString(),
                        EndTime   = worksheet.Cells[row, 12].Value?.ToString(),

                        StartDateTime        = StartDateTime,
                        EndDateTime          = EndDateTime,
                        CourseOwnerEmail     = worksheet.Cells[row, 13].Value?.ToString(),
                        CourseOwnerContactNo = worksheet.Cells[row, 14].Value?.ToString(),
                        Venue                    = worksheet.Cells[row, 15].Value?.ToString(),
                        Instructor               = worksheet.Cells[row, 16].Value?.ToString(),
                        CourseCreditHours        = worksheet.Cells[row, 17].Value?.ToString(),
                        PassingCriteriaException = worksheet.Cells[row, 18].Value?.ToString(),
                        UserCompany              = worksheet.Cells[row, 19].Value?.ToString(),
                        UserId                   = worksheet.Cells[row, 20].Value?.ToString().PadLeft(8, '0'),
                        RegistrationStatus       = worksheet.Cells[row, 21].Value?.ToString() == "Active Enrollment" ? "Enrolled" : worksheet.Cells[row, 21].Value?.ToString(),
                    });
                }
            }

            return(datas);
        }