Работа с MS Word: форматирование таблиц - C#

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

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

Добрый день. Столкнулся с проблемой в ворде. Надо сделать такую таблицу. Как в ворде. РАЗДЕЛ II.docx Ориентацию альбомную сделал, dll подключил , не могу понять, как пододвинуть/расширить ячейку...
 Word.Application wordApplication = new Word.Application(); //объявили переменную типа Word
            
            Object template = Type.Missing;
            Object newTemplate = Type.Missing;
            Object documentType = Type.Missing;
            Object visible = Type.Missing;

            wordApplication.Documents.Add(ref template, ref newTemplate, ref documentType, ref visible);//добавили в проложение документ
            Word.Document doc = wordApplication.ActiveDocument;
            wordApplication.Selection.PageSetup.Orientation = Word.WdOrientation.wdOrientLandscape;//ориентация альбомная
            wordApplication.Visible = true; //делаем что бы word не работал в фоновом режиме
            Object r = Type.Missing;
            Word.Paragraph par = doc.Content.Paragraphs.Add(ref r);//дабавляем в документ параграф
            Object missing = Type.Missing;
            Word.Range rng = doc.Range(ref missing, ref missing); //получаем текстовую область параграфа
            rng.Tables.Add(doc.Paragraphs[doc.Paragraphs.Count].Range, 4, 10, ref missing, ref missing);//вставляем в текстовую область таблицу
            Word.Table tbl = doc.Tables[doc.Tables.Count];//для удобства работы присваиваем таблицу переменной
            rng.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter; //выравниваем весь текст по центру
                  // Форматируем таблицу и применяем стиль
 
            Word.Border[] borders = new Word.Border[6];//массив бордеров
            borders[0] = tbl.Borders[Word.WdBorderType.wdBorderLeft];//левая граница 
            borders[1] = tbl.Borders[Word.WdBorderType.wdBorderRight];//правая граница 
            borders[2] = tbl.Borders[Word.WdBorderType.wdBorderTop];//нижняя граница 
            borders[3] = tbl.Borders[Word.WdBorderType.wdBorderBottom];//верхняя граница
            borders[4] = tbl.Borders[Word.WdBorderType.wdBorderHorizontal];//горизонтальная граница
            borders[5] = tbl.Borders[Word.WdBorderType.wdBorderVertical];//вертикальная граница
            foreach (Word.Border border in borders)
            {
                border.LineStyle = Word.WdLineStyle.wdLineStyleSingle;//ставим стиль границы 
                border.Color = Word.WdColor.wdColorBlack;//задаем цвет границы
            }

            tbl.Cell(1, 1).Range.Text = "Наименование мясной продукции                   (код по ОКРБ 007-2007)                                                                                          ";
           /* tbl.Cell(1, 1).Range.Font.Size = 8;
            tbl.Cell(1, 1).Range.Font.Name = "Times New Roman";
            tbl.Cell(1, 1).Height = 10; // растяжение вниз ячейки
 */
            tbl.Cell(1, 2).Range.Text = "Код строки";
            tbl.Cell(1, 3).Merge(tbl.Cell(1, 4));
            tbl.Cell(1, 3).Range.Text = "Произведено продукции";
            tbl.Cell(1, 4).Merge(tbl.Cell(1, 5));
            tbl.Cell(1, 4).Merge(tbl.Cell(1, 6));
            tbl.Cell(1, 4).Merge(tbl.Cell(1, 5));
          
            tbl.Cell(1, 4).Range.Text = "Реализовано продукции в отчетном периоде";
            tbl.Cell(1, 5).Range.Text = "Запасы готовой продукции на складе организа-ции на конец отчетного периода";
ребята, подскажите, как что правильнее, завтра надо будет такую функцию реализовать работащую. Или может создать шаблон - заменять там значения?!

Решение задачи: «Работа с MS Word: форматирование таблиц»

textual
Листинг программы
rng.Tables[1].Columns[2].PreferredWidthType = Word.WdPreferredWidthType.wdPreferredWidthPoints;
              rng.Tables[1].Columns[2].PreferredWidth = 5;
              System.Threading.Thread.Sleep(1000);
            tbl.Cell(1, 2).Range.Text = "Код строки";

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


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

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

14   голосов , оценка 3.929 из 5
Похожие ответы