Esempio n. 1
0
        public void DoWorkCalThread(Action <int> percent)
        {
            mExcel = new Excel(SalaryFile, false);
            mExcel.SetCurrentWorksheet(SalaryDate);
            percent(10);
            float proc = (float)0.0000;

            for (int i = 2; i <= mExcel.RowCount; i++)
            {
                NewStaffSalary mAssessSource = new NewStaffSalary();

                mAssessSource.StaffName       = mExcel.GetCell(i, 2);
                mAssessSource.ProbationSalary = mExcel.GetCell(i, 8);
                mAssessSource.FullSalary      = mExcel.GetCell(i, 9);
                NewStaffSalaryList.Add(mAssessSource);
                proc = (float)i / (float)mExcel.RowCount * (float)100;
                percent((int)proc);
            }


            int ProcessPos = 0;

            AssessSourcecollection.Clear();
            mExcel = new Excel(ExportFile, false);
            mExcel.SetCurrentWorksheet(Date);
            percent(10);
            for (int i = 2; i <= mExcel.RowCount; i++)
            {
                AssessSource mAssessSource = new AssessSource();
                mAssessSource.OrderNumber  = i - 1;
                mAssessSource.StaffName    = mExcel.GetCell(i, 1);
                mAssessSource.StaffDep     = mExcel.GetCell(i, 2);
                mAssessSource.StaffPostion = mExcel.GetCell(i, 3);
                mAssessSource.EntryTime    = mExcel.GetCell(i, 4);
                mAssessSource.EndTime      = mExcel.GetCell(i, 5);
                mAssessSource.PositiveTime = mExcel.GetCell(i, 6);
                mAssessSource.CompanyInfo  = mExcel.GetCell(i, 10);

                FillmAssessSourceSalary(ref mAssessSource);

                string tempre = mAssessSource.GetTimePercent(DateXiuxiRi, Date);
                if (tempre != "")
                {
                    mExcel.SetCellComment(i, 6, tempre);
                }

                AssessSourcecollection.Add(mAssessSource);
            }
            percent(70);
            SortByCompanyAndPercent();
            string tempzhuanzheng = "";

            mExcel.Save();
            mExcel.Visible = true;
            tempzhuanzheng = mIniFile.IniReadValue("AssessFile", "转正导出文件", tempzhuanzheng);



            ExportToExcel(AppDomain.CurrentDomain.BaseDirectory + tempzhuanzheng);
            percent(100);


            mExcel.Clean();
            mExcel.Dispose();
        }
Esempio n. 2
0
        public void SetInMemory(Action <int> percent)
        {
            int ProcessPos = 0;

            mExcel = new Excel(ExportFile, false);
            int    sheetnums = WaitQuerySheets.Count;
            float  proc      = (float)0.0;
            string SheetName = "vbx";

            mExcel.SetCurrentWorksheet(SheetName); //mExcel.SetCurrentWorksheet("Test");
            #region start import excel
            for (int i = 3; i <= mExcel.RowCount; i++)
            {
                string LineInfo = mExcel.GetCell(i, 1);


                if (!String.IsNullOrEmpty(LineInfo))
                {
                    string[]    ProjectLineInfos = LineInfo.Split(splitchar);
                    ProjectInfo mtempProjectInfo = new ProjectInfo();

                    mtempProjectInfo.ProID       = mExcel.GetCell(i, 1);
                    mtempProjectInfo.ProSeriesID = mExcel.GetCell(i, 2);


                    LineInfo = mExcel.GetCell(i + 1, 1);   //读取姓名,部门,加班费
                    int j     = i;
                    int times = 0;
                    while (String.IsNullOrEmpty(LineInfo))
                    {
                        if (times == 0)
                        {
                            mtempProjectInfo.ProductDescription = mExcel.GetCell(j, 3);
                            times++;
                            j++;
                            continue;
                        }
                        else if (times == 1)
                        {
                            mtempProjectInfo.SubProductDescription = mExcel.GetCell(j, 3);
                            times++;
                            j++;
                            continue;
                        }
                        ProductDescriptionDetail tt = new ProductDescriptionDetail();
                        int outint = -1;
                        int.TryParse(mExcel.GetCell(j, 3), out outint);
                        if (outint == -1)
                        {
                            j++;
                            LineInfo = mExcel.GetCell(j, 1);
                            continue;
                        }
                        tt.count         = outint;
                        tt.ProductDetail = mExcel.GetCell(j, 4);
                        if (tt.ProductDetail == "")
                        {
                            LineInfo = mExcel.GetCell(j, 2);
                            j++;
                            continue;
                        }
                        mtempProjectInfo.ProductDescriptionDetail.Add(tt);
                        LineInfo = mExcel.GetCell(j, 1);
                        j++;
                    }
                    mProjectInfoArray.Add(mtempProjectInfo);
                }
                else
                {
                    continue;
                }
            }
            #endregion start import excel

            ProcessPos++;
            percent((int)proc);

            //  break;test

            GetTargetResult();
            percent((int)proc);
            ExcelOutResult();
            ProcessPos++;
            percent(100);
            // MessageBox.Show("合并完成!");
            mExcel.Visible = true;
        }