Date: 13.04.2018 5:41:42
"К сожалению,не нашел нужного метода преобразования значения ячейки в строку"
Word.Range range = tbl.Cell(i, 1).Range; Console.WriteLine(range.Text);
"Как изменить этот код, чтобы предупреждения не возникали?"
((Word._Document)doc).Close(); ((Word._Application)word).Quit();
Date: 20.04.2018 3:17:08
А да, забыл про популярные грабли - текст в ячейках вордовской таблицы содержит управляющие символы, которые могут испортить вывод в консоль (возврат каретки) и сравнение строк. Чтобы нормально работать со строками, нужно от них избавиться:
string find = "example"; for (int i = 1; i <= numRows; i++) { for (int j = 1; j <= numCols; j++) { try { string text = tbl.Cell(i, j).Range.Text; text = text.Replace("\r", ""); text = text.Replace("\a", ""); Console.Write("(" + i.ToString() + "-" + j.ToString() + "): " + text); if (find == text) Console.Write(" - Found"); Console.WriteLine(); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } } }
Date: 23.04.2018 18:51:00
Перемещаться просто - у таблицы есть свойство Rows, по которому можно пройти foreach. У Row соответственно, брать свойство Cells (ну или начинать с первой ячейки и дальше переходить, пользуясь свойством Cell.Next).
По второму, как ни странно, нормально способа нет. Читайте здесь, много понаписано на эту тему: https://ru.stackoverflow.com/q/805934/240512
Date: 26.04.2018 3:02:17
Автор: VadimTagil