Esempio n. 1
0
        void btnPrint_Click(object sender, EventArgs e)
        {
            try
            {
                lable_message.Visible = true;
                lable_message.Text    = "正在保存,请稍等....";
                DateTime      dtMonthCal = monthCalendarMain.SelectionStart;
                DateTime      startWeek  = dtMonthCal.AddDays(1 - Convert.ToInt16(dtMonthCal.DayOfWeek.ToString("d")));
                List <string> weekdays   = Miscellaneous.GenerateWeekDaysList(startWeek);
                //PrintHelper print = new PrintHelper();
                //DataSet ds = new DataSet();
                DataTable dt = DatagridviewHelper.ConvertDataGridViewToTable(dataGridView_home);

                //is updated?
                //DateTime dt_month = monthCalendarMain.SelectionStart;
                //DateTime startWeek = dt_month.AddDays(1 - Convert.ToInt16(dt_month.DayOfWeek.ToString("d")));
                string    fileXmlFullPath = Miscellaneous.GetSchedulerXMLFullPath(startWeek.ToString("yyyyMMdd"));
                DataTable sourceTable     = LoadHomeSchedules(fileXmlFullPath);
                //比较两个datatable, 如果不相同则先保存再打印
                bool isSame = DatagridviewHelper.CompareDataTable(dt, sourceTable, "姓名");
                if (!isSame)
                {
                    ScheduleSaveAction();
                }

                //ds.Tables.Add(dt);
                string tempExcelPath = Miscellaneous.GetScheduleTempExcelFile();
                if (String.IsNullOrEmpty(tempExcelPath))
                {
                    MessageBox.Show("排班模板Excel文件不存在,请指定正确路径再保存为Excel", "文件检查失败");
                }
                else
                {
                    ExcelHelper.DataTableToExcelForSchedule(Miscellaneous.GetScheduleTempExcelFile(), dt, weekdays);
                    //NPOIHelper.DataTableToExcelForSchedule_NPOI(tempExcelPath, dt, weekdays);
                    MessageBox.Show("保存Excel文件成功", "文件保存成功");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("保存文件出错:" + ex.Message, "文件检查失败");
            }
            finally
            {
                lable_message.Text    = string.Empty;
                lable_message.Visible = false;
            }
        }
Esempio n. 2
0
        void btnUploadSchedule_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd        = new OpenFileDialog();
            DateTime       dtMonthCal = monthCalendarMain.SelectionStart;
            DateTime       startWeek  = dtMonthCal.AddDays(1 - Convert.ToInt16(dtMonthCal.DayOfWeek.ToString("d")));
            List <string>  weekdays   = Miscellaneous.GenerateWeekDaysList(startWeek);

            if (ofd.ShowDialog() == DialogResult.OK)
            {
                string        fileName    = ofd.FileName.ToString();
                List <string> nursersName = XMLHelper.GetNursersName(Miscellaneous.GetNurseXMLFullPath());
                List <string> jobsName    = XMLHelper.GetJobsName(Miscellaneous.GetJobXMLFullPath());
                //只读取/处理表文件中的姓名和排班信息,如果姓名或者排班信息在系统中找不到,则抛出错误
                ExcelHelper.UploadAndSaveExcel(fileName, nursersName, jobsName);
            }
        }