public static string Show(string persBut, string docBut) { question = new ListQuestion(); question.personal.Text = persBut; question.documents.Text = docBut; question.ShowDialog(); return(returnString); }
private void Doc_excel_Click(object sender, RoutedEventArgs e) { string filter = ListQuestion.Show("Личные данные сотрудников", "Информация о документах сотрудников"); if (filter != string.Empty) { Excel.Application app = new Excel.Application(); Excel.Workbook book = app.Workbooks.Add();; Excel.Worksheet sheet = (Excel.Worksheet)book.Worksheets.Item[1]; SaveFileDialog sfd = new SaveFileDialog(); sfd.Filter = "Excel 2010|*.xlsx"; string file = ""; if (filter == "docs") { sfd.FileName = "Список документов сотрудников " + DateTime.Today.ToShortDateString(); if (sfd.ShowDialog() == System.Windows.Forms.DialogResult.OK) { file = sfd.FileName; } try { sheet.Cells[1, 1] = "ФИО"; sheet.Cells[1, 2] = "Копия паспорта"; sheet.Cells[1, 3] = "Диплом"; sheet.Cells[1, 4] = "Трудовая книжка"; sheet.Cells[1, 5] = "Военный билет"; sheet.Cells[1, 6] = "Фото"; sheet.Cells[1, 7] = "Мед. справка"; sheet.Cells[1, 8] = "Флюорография"; sheet.Cells[1, 9] = "Ученая степень"; sheet.Cells[1, 10] = "Удостоверение ветерана"; sheet.Cells[1, 11] = "СНИЛС"; sheet.Cells[1, 12] = "ИНН"; sheet.Cells[1, 13] = "Заявление на прием"; sheet.Cells[1, 14] = "Анкета"; sheet.Cells[1, 15] = "Заявленмие о ЗП"; sheet.Cells[1, 16] = "Обязательства"; sheet.Cells[1, 17] = "Согласие"; int i = 2; SqlCommand sql = new SqlCommand($"select ФИО, Копия_паспорта, Диплом, Трудовая_книжка, Военный_билет, Фото, Мед_справка, Итоги_фл, Документы_УчС, Удостоверение_ветерана, " + $"СНИЛС, ИНН, Заявление_на_прием, Анкета, Заявление_о_зп, Обязательство, Согласие from Контактные_данные, Сведения " + $"where Контактные_данные.ID=Сведения.ID and Приказ_зачисление is not null order by ФИО", connection); connection.Open(); using (SqlDataReader reader = sql.ExecuteReader()) { while (reader.Read()) { for (int j = 1; j <= 17; j++) { if (j > 1) { if (reader[j - 1].ToString() == "True") { sheet.Cells[i, j] = "Да"; } else { sheet.Cells[i, j] = "Нет"; } } else { sheet.Cells[i, j] = reader[j - 1].ToString(); } } i++; } } connection.Close(); Excel.Range range1 = sheet.Range[sheet.Cells[1, 1], sheet.Cells[1, 17]]; range1.EntireColumn.AutoFit(); Excel.Range range = sheet.Range[sheet.Cells[2, 1], sheet.Cells[i, 17]]; range.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter; range.HorizontalAlignment = Excel.XlHAlign.xlHAlignLeft; range.EntireRow.AutoFit(); book.SaveAs(file); book.Close(); app.Quit(); System.Windows.MessageBox.Show("Список создан"); } catch { System.Windows.MessageBox.Show("Список не может быть создан"); } } else if (filter == "pers") { sfd.FileName = "Информация о сотрудниках " + DateTime.Today.ToShortDateString(); if (sfd.ShowDialog() == System.Windows.Forms.DialogResult.OK) { file = sfd.FileName; } try { sheet.Cells[1, 1] = "ФИО"; sheet.Cells[1, 2] = "Дата рождения"; sheet.Cells[1, 3] = "Номер телефона"; sheet.Cells[1, 4] = "Электронная почта "; sheet.Cells[1, 5] = "Должность"; sheet.Cells[1, 6] = "Населенный пункт"; sheet.Cells[1, 7] = "Улица"; sheet.Cells[1, 8] = "№ дома"; sheet.Cells[1, 9] = "№ квартиры"; int i = 2; SqlCommand sql = new SqlCommand($"select ФИО, Дата_рождения, Номер_телефона, Электронная_почта, Должность, Населенный_пункт, Улица, Номер_дома, Номер_квартиры " + $"from Контактные_данные, Список_должностей, Список_сотрудников, Штатное_расписание " + $"where Контактные_данные.ID=Список_сотрудников.ID and ID_должности=Штатное_расписание.ID and Список_сотрудников.ID=ID_сотрудника order by ФИО", connection); connection.Open(); using (SqlDataReader reader = sql.ExecuteReader()) { while (reader.Read()) { for (int j = 1; j <= 9; j++) { if (j == 2 && reader[j - 1].ToString() != string.Empty) { sheet.Cells[i, j] = Convert.ToDateTime(reader[j - 1]).ToShortDateString(); } else { sheet.Cells[i, j] = reader[j - 1].ToString(); } } i++; } } connection.Close(); Excel.Range range = sheet.Range[sheet.Cells[1, 1], sheet.Cells[i, 7]]; range.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter; range.HorizontalAlignment = Excel.XlHAlign.xlHAlignLeft; range.EntireColumn.AutoFit(); range.EntireRow.AutoFit(); book.SaveAs(file); book.Close(); app.Quit(); System.Windows.MessageBox.Show("Список создан"); } catch { System.Windows.MessageBox.Show("Список не может быть создан"); } } } }