Member 13727051 Ответов: 1

Как экспортировать выбранные строки в datagridview в excel VB 2010


Я новичок в этих кодах vb моя проблема заключается в том, что я хочу экспортировать выбранные строки в datagridview в excel кто-нибудь, кто может мне помочь ? какие коды я могу использовать? заранее благодарю вас!

Что я уже пробовал:

я пробую этот код, но он дает мне все строки в datagridview, но мне нужна выбранная строка

Dim xlApp как Microsoft.Офис.Взаимодействие.Превосходить.Приложение
Тусклый xlWorkBook как Microsoft.Офис.Взаимодействие.Превосходить.Рабочая тетрадь
Dim xlWorkSheet как Microsoft.Офис.Взаимодействие.Превосходить.Рабочий лист
Dim misValue как объект = система.Отражение.Недостающий.Ценность
Dim i как целое число
Dim j как целое число

xlApp = новый Microsoft.Офис.Взаимодействие.Превосходить.ApplicationClass
xlWorkBook = xlApp.Workbooks.Добавить(неверное значение)
xlWorkSheet = xlWorkBook.Sheets("лист1")



Для i = 0 до DataGridView1.RowCount - 2
DataGridView1.Rows(i).Высота = 20


Для j = 0 в DataGridView1.ColumnCount - 1
Для k As Integer = 1 в DataGridView1.Columns.Рассчитывать
xlWorkSheet.Ячейки(1, k) = DataGridView1.столбцы(k - 1).HeaderText
xlWorkSheet.Ячейки.RowHeight = 20
xlWorkSheet.Ячейки.Ширина столбца = 20


xlWorkSheet.Ячейки(i + 2, j + 1) = DataGridView1(j, i).значение.Метод toString()
Следующий
Следующий
Следующий
Дим СД как новый элемент savefiledialog 'объявление диалоговое окно сохранения файла
Если СД.ShowDialog = Система.Окна.Формы.свойство DialogResult.ОК, затем " проверьте, был ли диалог сохранения файла закрыт после выбора пути
'MsgBox(sd.FileName)
xlWorkSheet.Сохранить как(Ур.Именем &ампер; ".файлы XLSX") СД.диалоговое именем reurns путь для сохранения файла
xlWorkBook.Закрывать()
xlApp.Бросить()
Конец, Если

releaseObject(xlApp)
releaseObject(xlWorkBook)
releaseObject(xlWorkSheet)

С помощью MsgBox("вы можете найти в файле" &усилитель; СД.Именем &ампер; ".XLSX-файл")

Bryian Tan

где логика, которая проверяет выбранную строку?

Member 13727051

я хочу видеть выбранные строки в excel

1 Ответов

Рейтинг:
11

Bryian Tan

Код нужен что-то вроде

Dim selectedRowCount As Integer = _
        DataGridView1.Rows.GetRowCount(DataGridViewElementStates.Selected)

 If selectedRowCount > 0 Then
    Dim i As Integer
    For i = 0 To selectedRowCount - 1
      ....
      ....

      xlWorkSheet.Cells(i + 2, j + 1) = DataGridView1(j, dataGridView1.SelectedRows(i).Index).Value.ToString()
    next i
 End If

[Как получить выбранные ячейки, строки и столбцы в элементе управления Windows Forms DataGridView]


Maciej Los

5ed!

Member 13727051

спасибо тебе, Брайан Тан ! Это прекрасно работало в моей системе. только немного перемен у меня было :


Если selectedRowCount > 0, то

Для j = 0 в DataGridView1.ColumnCount - 1


Для k As Integer = 1 в DataGridView1.Columns.Рассчитывать
xlWorkSheet.Ячейки(1, k) = DataGridView1.столбцы(k - 1).HeaderText
xlWorkSheet.Ячейки.RowHeight = 20
xlWorkSheet.Ячейки.Ширина столбца = 20


Для i = 0 до selectedRowCount - 1

xlWorkSheet.Ячейки(i + 2, j + 1) = DataGridView1(j, DataGridView1.SelectedRows(i).значение индекса.Метод toString()
Затем я

Для i = 0 до DataGridView1.RowCount - 1


Выбрать DataGridView1.Ряды(я).Высота = 20

Конец Выбрать
Следующий
Следующий
Следующий