powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Числовой формат при экспорте из Datagridview To MS Excel
1 сообщений из 1, страница 1 из 1
Числовой формат при экспорте из Datagridview To MS Excel
    #39802638
Bujhm_C
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем здравия!
Погуглил но ничего не нашел.

Вопрос следующий. После загрузки Грида (Datagridview) форматирую колонку с ценой
Код: vbnet
1.
2.
3.
4.
5.
If Not IsNothing(.Columns("Сумма грн без НДС")) Then
                .Columns("Сумма грн без НДС").DefaultCellStyle.Format = String.Format("#,##0.00")
                .Columns("Сумма грн без НДС").Width = 78
                .Columns("Сумма грн без НДС").ReadOnly = True
            End If



В колонке "Сумма грн без НДС" получаю данные с разделителями тысяч, например: 1 000 000,00
6 245 000,00
84 000,52

Выделяю строки в Datagridview. нажимаю Ctl+C, открываю Эксель и вставляю данные Ctl+V

Для исправления кодировки выполняю:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
#Region "ФУНКЦИЯ КОДИРОВКИ КИРИЛЛИЦЫ ПРИ ВСТАВКЕ"
    Public Sub CopySelectedRowsToClipboard(ByVal dgv As DataGridView)
        If dgv.GetCellCount(DataGridViewElementStates.Selected) > 0 Then
            Try
                dgv.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText

                Clipboard.Clear()
                If dgv.GetClipboardContent() IsNot Nothing Then
                    Clipboard.SetDataObject(dgv.GetClipboardContent().GetText(TextDataFormat.Html))
                    Clipboard.GetData(DataFormats.Text)
                    Dim dt As IDataObject = Clipboard.GetDataObject()
                    If dt.GetDataPresent(GetType(String)) Then
                        Dim strTb As String = DirectCast(dt.GetData(GetType(String)), String)
                        '  strTb = Regex.Replace(strTb, "(\s){2,}", " ") 'добавлено
                        Dim strEnc As Encoding = Encoding.GetEncoding(1251)
                        Dim btEnc As Byte() = strEnc.GetBytes(strTb)
                        Clipboard.SetDataObject(strEnc.GetString(btEnc))
                    End If
                End If
                dgv.ClipboardCopyMode = DataGridViewClipboardCopyMode.Disable
            Catch ex As Exception

            End Try

        End If
    End Sub
#End Region



Форматирование вставленных записей сохраняется, т.е. числа вставляются как текст с разделителями тысяч. А теперь вопрос
Как сделать так, чтоб при вставке в Эксель убрать пробелы в числах, те преобразовать в число.
Заранее спасибо
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Числовой формат при экспорте из Datagridview To MS Excel
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]