C# Excel interop, поместите разрыв строки в текст ячейки в Excel
Я пишу лист Excel с помощью Interop. В листе мне нужно поместить набор предложений в ячейку. Текст должен быть разбит на строки. Как я могу достичь этого?
спасибо заранее.
7 ответов
Это было сделано путем ввода "\r\n"или среды.новая строка. А также не забудьте сделать свойство WrapText true, чтобы увидеть тормоза линии.
вы можете добавить стиль к ячейкам programically как bellow
листе.Ячейки.Стиль.Переносить по словам = истина;
на В. Б. или VBA, я использовал vbCrLf
(С учетом регистра) для разделения предложений для разделения строк в ячейке Excel, например:
Dim myString As String
myString = "First sentence" & vbCrLf & "Second sentence"
ActiveCell.ForumulaR1C1 = myString
на C#, Я довольно уверен, что эквивалент C# VB vbCrLf
и "\r\n"
отсюда:
myString = "First sentence\r\n" + "Second sentence"
новая строка в ячейке Excel - это символ LF, который является "\n " в C#. И не забудьте установить для свойства WrapText ячейки значение TRUE.
я столкнулся с этой проблемой, но разница в том, что у меня нет доступа к листу в коде, поскольку я передаю его только memorystream, а затем создаю файл как .тип 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(@"""", @"""""") + '"'+ ",");
}
ответом на этот вопрос является добавление" quot " спереди и в конце строки, которую вы хотите отобразить в своей ячейке excel. В C# это будет что-то вроде (Convert.ToChar (34) + stringToExport + конвертировать.ToChar(34))