Сформировать документ Word, куда будут заноситься данные из раннее созданной БД - C#
Формулировка задачи:
Столкнулся с программированием в C#. Нужно сформировать Word-овский документ, куда будут заноситься данные из раннее созданной БД в Access. Так вот как так по нажатию на событие button1_Click выводился определенная таблица без всяких запросов... Чисто из БД таблица... Смотрел данную статью http://support.microsoft.com/kb/316384 , разобрался, только вот с БД там работы нету...
Решение задачи: «Сформировать документ Word, куда будут заноситься данные из раннее созданной БД»
textual
Листинг программы
Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application(); Microsoft.Office.Interop.Word.Document wd = app.Documents.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing); wd.Activate(); Microsoft.Office.Interop.Word.Range rng = wd.Range(ref start, ref end); Microsoft.Office.Interop.Word.Table tbl; Object defaultTableBehavior = Type.Missing; Object autoFitBehavior = Type.Missing; object missing = System.Type.Missing; int ccount = dgv.Columns.Cast<DataGridViewColumn>().Count(w => w.Visible); tbl = wd.Tables.Add(rng, 1, ccount, ref missing, ref missing); List<string> col = new List<string>(); int i = 1; foreach (DataGridViewColumn dgvc in dgv.Columns) { tbl.Cell(1, i).Range.Text = dgvc.HeaderText; tbl.Cell(1, i).Range.Font.Bold = 1; col.Add(dgvc.Name); i++; } i = 1; foreach (DataGridViewRow row in dgv.Rows) { Microsoft.Office.Interop.Word.Row newRow = tbl.Rows.Add(ref missing); newRow.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft; newRow.Range.Font.Bold = 0; for (int c = 0; c < col.Count; c++) { newRow.Cells[c + 1].Range.Text = row.Cells[col[c]].FormattedValue.ToString(); } i++; } tbl.Borders.OutsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle; tbl.Borders.OutsideLineWidth = Microsoft.Office.Interop.Word.WdLineWidth.wdLineWidth050pt; tbl.Borders.InsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle; string path = @"D:/Documents/" + DocName; wd.Application.ActiveDocument.SaveAs(path+ ".doc", ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing); wd.Application.Visible = true;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д