C # Excel взаимодействия, поставить разрыв строки в тексте ячейки в Excel - PullRequest
7 голосов
/ 23 декабря 2011

Я пишу лист Excel, используя взаимодействие.В листе мне нужно поместить ряд предложений в ячейку.Текст должен быть в виде разрыва строки.Как мне этого добиться?

Заранее спасибо.

Ответы [ 7 ]

6 голосов
/ 28 декабря 2011

Это было сделано либо путем ввода "\ r \ n", либо Environment.NewLine. Также необходимо помнить, что свойство WrapText должно иметь значение true, чтобы можно было видеть тормоза линии.

4 голосов
/ 04 июля 2016

Вы можете добавить стиль к ячейкам программно, как показано ниже

worksheet.Cells.Style.WrapText = true;

2 голосов
/ 20 марта 2015

Новая строка в ячейке Excel - это символ LF, который в C # равен "\ n". И не забудьте установить для свойства WrapText ячейки значение TRUE.

1 голос
/ 27 декабря 2011

В VB или VBA , я использовал vbCrLf (с учетом регистра), чтобы разделить предложения на отдельные строки в ячейке Excel, как показано ниже:

Dim myString As String
myString = "First sentence" & vbCrLf & "Second sentence"
ActiveCell.ForumulaR1C1 = myString

В C # я довольно уверен, что C # эквивалент VB's vbCrLf равен "\r\n", следовательно:

myString = "First sentence\r\n" + "Second sentence"
1 голос
/ 23 декабря 2011

Новая строка в ячейке Excel - это символ LF, который равен "\n" в C #.

0 голосов
/ 27 января 2017

Я столкнулся с этой проблемой, но разница в том, что у меня нет доступа к рабочему листу в коде, так как я только передаю его потоку памяти и затем создаю файл в формате .csv.

foreach (var s in propertyValues)
                streamWriter.WriteLine(s);

            streamWriter.Flush();
            memoryStream.Seek(0, SeekOrigin.Begin);

Я использую его отсюда.

 subjExportData.FileStream = stream;
            subjExportData.FileName = string.Format("SubjectExport_{0}.csv", DateTime.Now.ToString("ddMMyyyy_HHmm"));

Таким образом, предложение установить обтекание текстом или ячейкой здесь не вариант. Получил работу, используя приведенный выше ответ, плюс поставил двойные кавычки до и после текста / строки. Заменой является обработка, когда в предложении тоже есть двойная кавычка. Таким образом, это решение обрабатывает новую строку, запятую и двойные кавычки внутри предложения или абзаца.

if (value.ToString().Contains("\n"))
                                {
                                    value = value.ToString().Replace("\n", "\r\n");
                                    sb.Append('"'+ value.ToString().Replace(@"""", @"""""") + '"'+ ",");
                                }
0 голосов
/ 20 ноября 2013

ответом на этот вопрос является добавление "quot" впереди и в конце строки, которую вы хотите отобразить в ячейке Excel.В C # это будет что-то вроде (Convert.ToChar (34) + stringToExport + Convert.ToChar (34))

...