Как вставить новую строку в ячейку таблицы в Word? - PullRequest
0 голосов
/ 30 апреля 2010

когда я вставляю '\r\n' в ячейку таблицы в текстовом документе, используя c #, это не работает, почему? как это сделать?

Word.Application wordApp; 
Word.Document wordDoc; 
filePath = @"" + strWorkPath + @"Uploads\Template\template.doc"; 
saveFilePath = @"" + strWorkPath + @"Uploads\" + VersionStr + @"\" + fileName; 
object format = Word.WdSaveFormat.wdFormatDocument; wordApp = new Word.Application(); 
Object nothing = Missing.Value; 
wordDoc = wordApp.Documents.Open(ref filePath, ref nothing, ref nothing, ref nothing, ref nothing,ref nothing, ref nothing, ref nothing, ref nothing, ref nothing, ref nothing, ref nothing, ref nothing, ref nothing, ref nothing, ref nothing); 
Word.Table table = wordDoc.Tables[1]; 
table.Cell(1, 1).Range.Text = "sdsdlkfjdslk \r\n slkdfjslj"; 

как показано в последней строке.

В документе это "sdsdlkfjdslk \r\n slkdfjslj", а не "sdsdlkfjdslk slkdfjslj"

Ответы [ 2 ]

3 голосов
/ 30 апреля 2010

Попробуйте

"sdsdlkfjdslk" + (char)11 + "slkdfjslj" 

или

"sdsdlkfjdslk \v slkdfjslj"
0 голосов
/ 11 октября 2017

(char) 11 и \ v у меня не работает. Я получил "шестнадцатеричное значение 0x0B, это недопустимый символ". Следующее решение помогло мне.

Paragraph paragraph = new Paragraph();
string[] lines = Value.Split(new string[] { "\n" }, StringSplitOptions.RemoveEmptyEntries);
Run run = new Run(new Text(lines[0]));
if (lines.Length > 1)
{
  run.AppendChild(new Break());
  run.AppendChild(new Text(lines[1]));
}
paragraph.Append(run);

Я закончил тем, что сохранил строку, переменную Value в примере, попав в ячейку с "\ n" в качестве разрыва строки. Я разбил строку в массив на разрыв строки. У меня был только один разрыв в моем коде, но вы можете использовать foreach для циклического прохождения, если у вас несколько разрывов строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...