Сформировать документ 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;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д