Разрыв строки удален после вставки данных в excel C#
Всем Привет,
У меня есть WPF datagrid. Кроме того, у меня есть метод копирования значений сетки.
После копирования значений из сетки разрыв строки удаляется из содержимого столбца после вставки в excel.
С уважением,
Arunkumar Murugesan
Что я уже пробовал:
The below code I'm using for set the grid values as clipboard data. <pre><pre>if (SelectedRows != null && SelectedRows.Count > 0) { string Values = "<TABLE><TBODY>"; string Headers = ""; if (string.IsNullOrEmpty(Headers)) { Values += "<TR>"; foreach (DataColumn column in DynamicBindingTable.Columns) { Values += "<TD>" + column.ColumnName + "</TD>"; } Values += "</TR>"; } for (int i = 0; i < CopiedRows.Count; i++) { Values += "<TR>"; for (int j = 0; j < CopiedRows[i].ItemArray.Length; j++) { object dynamicValues = CopiedRows[i][j].ToString(); Type columnType = DynamicBindingTable.Columns[j].DataType; if (dynamicValues != null) { Values += "<TD>" + dynamicValues.ToString() + "</TD>"; } } Values += "</TR>"; } Values += "</TBODY></TABLE>"; Clipboard.SetData(DataFormats.UnicodeText, (object)Values); }
Значения устанавливаются в данные буфера обмена. Но после вставки значений в excel разрывы строк были удалены в содержимом.
Например, в сетке одно значение столбца как,
Dear Customer, In case you require specific free time deal at destination to be listed. Failure to receive confirmation by comp Free time is considered invalid. We regret to inform you that we do not have available content.
Но после вставки в excel он показывает, как показано ниже(один текст)
Dear Customer,In case you require specific free time deal at destination to be listed. Failure to receive confirmation by comp.Free time is considered invalid
Не могли бы вы помочь мне решить эту проблему?
Maciej Los
То, что вы делаете, - это не экспорт в формат Excel, а формат html. В этом случае вы должны определить, где находится линия разрыва, а затем вставить <br/>
в том месте.
0x01AA
И скорее всего, чтобы добавить некоторую информацию о стиле, например <br style="mso-data-placement:same-cell;"/>
Maciej Los
:большой палец вверх:
0x01AA
Спасибо и извини что я украл сейчас у тебя ответ :-)
Maciej Los
:Д Ваше здоровье!
Arunkumar Murugesan
Эй Мацей Лос и 0x01AA,
Поблагодарить у так много. это прекрасно работает. Отличный...
Maciej Los
- Рад слышать. Пожалуйста, в следующий раз используйте виджет [Reply] для информирования пользователя о вашем ответе (справа от Ника/логина).
0x01AA
Приятно слышать, что это работает. Следующее, что будет экранировать текст, означает, что делать в случае, если "<br>" находится в исходном тексте. ОК, кажется, очень легко, мы можем сделать это с помощью <br> и аналогично, если у вас действительно есть "<br>" в тексте. См.также Edit2 в обновленном решении 1.
Arunkumar Murugesan
Отметил все ваши очки Maciej Los и 0x01AA.
Большое вам спасибо за вашу быструю помощь.
Arunkumar Murugesan
Привет Мацей и 0x01AA,
Еще одно сомнение в формате HTML,
Одно значение столбца подготовлено как "<vslname><vslvoyage>" в формате HTML. После вставки в excel он должен быть вставлен как "<vslname><vslvoyage>" Но она была приклеена как пустая.
Как мы могли бы решить эту проблему?