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; } }
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); } }