Сформировать документ Word, куда будут заноситься данные из раннее созданной БД - C#

Узнай цену своей работы

Формулировка задачи:

Столкнулся с программированием в C#. Нужно сформировать Word-овский документ, куда будут заноситься данные из раннее созданной БД в Access. Так вот как так по нажатию на событие button1_Click выводился определенная таблица без всяких запросов... Чисто из БД таблица... Смотрел данную статью http://support.microsoft.com/kb/316384 , разобрался, только вот с БД там работы нету...

Решение задачи: «Сформировать документ Word, куда будут заноситься данные из раннее созданной БД»

textual
Листинг программы
  1. Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();
  2.             Microsoft.Office.Interop.Word.Document wd = app.Documents.Add(ref oMissing, ref oMissing,
  3.         ref oMissing, ref oMissing);
  4.  
  5.             wd.Activate();
  6.             Microsoft.Office.Interop.Word.Range rng = wd.Range(ref start, ref end);
  7.             Microsoft.Office.Interop.Word.Table tbl;
  8.             Object defaultTableBehavior = Type.Missing;
  9.             Object autoFitBehavior = Type.Missing;
  10.             object missing = System.Type.Missing;
  11.             int ccount = dgv.Columns.Cast<DataGridViewColumn>().Count(w => w.Visible);
  12.            tbl = wd.Tables.Add(rng, 1, ccount, ref missing, ref missing);
  13.             List<string> col = new List<string>();
  14.             int i = 1;
  15.             foreach (DataGridViewColumn dgvc in dgv.Columns)
  16.             {
  17.                 tbl.Cell(1, i).Range.Text = dgvc.HeaderText;
  18.                 tbl.Cell(1, i).Range.Font.Bold = 1;
  19.                 col.Add(dgvc.Name);
  20.                 i++;
  21.             }
  22.             i = 1;
  23.             foreach (DataGridViewRow row in dgv.Rows)
  24.             {
  25.                 Microsoft.Office.Interop.Word.Row newRow = tbl.Rows.Add(ref missing);
  26.                 newRow.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
  27.                 newRow.Range.Font.Bold = 0;
  28.                 for (int c = 0; c < col.Count; c++)
  29.                 {
  30.                     newRow.Cells[c + 1].Range.Text = row.Cells[col[c]].FormattedValue.ToString();
  31.                 }
  32.                 i++;
  33.             }
  34.             tbl.Borders.OutsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;
  35.             tbl.Borders.OutsideLineWidth = Microsoft.Office.Interop.Word.WdLineWidth.wdLineWidth050pt;
  36.             tbl.Borders.InsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;
  37.             string path = @"D:/Documents/" + DocName;
  38.             wd.Application.ActiveDocument.SaveAs(path+ ".doc",
  39.                 ref missing, ref missing, ref missing, ref missing, ref missing,
  40.                 ref missing, ref missing, ref missing, ref missing, ref missing,
  41.                 ref missing, ref missing, ref missing, ref missing, ref missing);
  42.             wd.Application.Visible = true;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.071 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы