Редактирование таблицы в Word, объединение ячеек - C#
Формулировка задачи:
Привет всем!
Объясните, пожалуйста, магию, которая здесь происходит:
Почему всё непонятно куда сдвигается?! Ведь индексы ячеек с текстом и выделением совпадают!
int x = 0; for (int i=0; i<20; i++) { oTable.Rows.Add(); oTable.Rows.Add(); oTable.Cell(i+4+x, 1).Range.Text = "test "+Convert.ToString(i); // Здесь +4 - это пропуск первых строк (там шапка таблицы) RangeOfCells = oTable.Cell(i+4+x, 1).Range; RangeOfCells.Select(); // Встаем на ячейку oTable.Application.Selection.MoveRight(ref unit, 1, ref d); // Выделяем всю строку (но в данном случае только + 1 ячейку справа RangeOfCells.Application.Selection.Cells.Merge(); // Объединяем x = x + 2; // Организуем вывод через две строки }
Решение задачи: «Редактирование таблицы в Word, объединение ячеек»
textual
Листинг программы
using Word = Microsoft.Office.Interop.Word; //......... for (int i = 0; i < 20; i++) { Word.Row row = oTable.Rows.Add();//Строка в конец таблицы oTable.Rows.Add();//Две строки ещё oTable.Rows.Add(); wdDoc.Range(row.Cells[1].Range.Start, row.Cells[2].Range.End).Cells.Merge();//Объединение ячеек в третьей снизу строке row.Cells[1].Range.Text = "test " + i.ToString();//Запись текста в первую, уже объединённую ячейку }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д