/// <summary> /// Обновление данных в Таблице /// </summary> public void UpdateTable() { SQLRequest = null; if (Select != null) { SQLRequest += $"SELECT {Select} "; } if (From != null) { SQLRequest += $"FROM {From} "; } if (Where != null) { SQLRequest += $"WHERE {Where} "; } if (orderBy != null) { SQLRequest += $"ORDER BY {orderBy}"; } DVTable = UsAc.Execute(SQLRequest); }
public void OutToWord(string NumOfDeal) { //Получение записи из таблицы var DealTable = UsAc.Execute($@"SELECT * FROM Дело WHERE Номер_дела = ""{NumOfDeal}"""); string DateStart = DealTable.Table.Rows[0]["Дата_открытия"].ToString().Substring(0, 10); string DateEnd = DealTable.Table.Rows[0]["Дата_закрытия"].ToString().Substring(0, 10); string DateStorage = DealTable.Table.Rows[0]["Дата_введения_на_хранение"].ToString().Substring(0, 10); string Zaveritel = DealTable.Table.Rows[0]["Заверитель"].ToString(); //Получение списка документов var DocumentsInDealTable = UsAc.Execute($@"SELECT * FROM Документ Where Номер_дела = ""{NumOfDeal}"""); string DocCount = DocumentsInDealTable.Count.ToString() + " "; //Число страниц для документа int DocNum = 1; var wordApp = new Microsoft.Office.Interop.Word.Application(); wordApp.Visible = false; object missing = System.Reflection.Missing.Value; var wordDocument = wordApp.Documents.Open(Environment.CurrentDirectory + "/model/register.docx"); try { ReplaceWordStub("{Num}", NumOfDeal, wordDocument); ReplaceWordStub("{DocCount}", DocCount, wordDocument); ReplaceWordStub("{DateStart}", DateStart, wordDocument); ReplaceWordStub("{DateEnd}", DateEnd, wordDocument); ReplaceWordStub("{DateStorage}", DateStorage, wordDocument); ReplaceWordStub("{Zav}", Zaveritel, wordDocument); Microsoft.Office.Interop.Word.Table wordTable = wordDocument.Tables[1]; for (int x = 2; x < DocumentsInDealTable.Table.Rows.Count + 2; x++) { //Добавляем строку таблицы object oMissing = System.Reflection.Missing.Value; wordTable.Rows.Add(ref oMissing); //# п/п wordTable.Cell(x, 1).Range.Text = (x - 1).ToString(); wordTable.Cell(x, 1).Range.Bold = 0; wordTable.Cell(x, 1).Range.Cells.SetHeight(1, WdRowHeightRule.wdRowHeightAuto); //Наименование wordTable.Cell(x, 2).Range.Text = DocumentsInDealTable.Table.Rows[x - 2]["Название_документа"].ToString(); wordTable.Cell(x, 2).Range.Bold = 0; //Номера листов if (DocumentsInDealTable.Table.Rows[x - 2]["Число_страниц"].ToString() == "1") { wordTable.Cell(x, 3).Range.Text = (DocNum++).ToString(); } else if (DocumentsInDealTable.Table.Rows[x - 2]["Число_страниц"].ToString() == "0") { wordTable.Cell(x, 3).Range.Text = DocNum.ToString(); } else { string num = (DocNum + 1).ToString() + "-"; var count = Convert.ToInt32(DocumentsInDealTable.Table.Rows[x - 2]["Число_страниц"]) - 1; DocNum += count; num += DocNum.ToString(); wordTable.Cell(x, 3).Range.Text = num; } wordTable.Cell(x, 3).Range.Bold = 0; wordTable.Cell(x, 3).Range.Cells.SetHeight(1, WdRowHeightRule.wdRowHeightAuto); } } catch (Exception ex) { object doNotSaveChanges = Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges; wordDocument.Close(ref doNotSaveChanges, ref missing, ref missing); throw ex; } wordApp.Visible = true; }