2016-08-09 4 views
0

Im считывает значения ячейки из листа excel и добавляет его в datagridview. Я следовал ниже кода, но он добавил только одну строку, и это последняя строка в листе excel. У меня четыре строки на листе excel, поэтому datagridview также должен иметь четыре строки.Динамически добавлять несколько строк в datagridview в vb.net

For x = 9 To xlWorkSheet.UsedRange.Rows.Count 
      For j = 0 To LogCalcEnter.ColumnCount - 1 
       If Not String.IsNullOrEmpty(xlWorkSheet.Cells(1 + x, j + 1).Value) Then 
        LogCalcEnter.Rows.Add() 
        LogCalcEnter.Item(j, 0).Value = xlWorkSheet.Cells(1 + x, j + 1).value 
       End If 
      Next 
     Next 

LogCalcEnter это имя DataGridView

ответ

0

Вы добавляете новую строку для каждого столбца , что вы обхвата над. В приведенном ниже коде создается новая строка для каждой строки, в которую вы переходите. Я изменил LogCalcEnter.Item(j, 0) на LogCalcEnter.Item(j, rowIndex), чтобы вы также заполняли информацию о строках. Примечание. Я на самом деле не запускал его, у вас могут быть проблемы с показателями, которые вы используете в этом. Вы говорите, что у вас есть 4 строки в электронной таблице, но вы начали с x = 9. Также + 1's в xlWorkSheet.Cells(1 + x, j + 1).Value) нажимают число строк над количеством в UsedRange.

For x = 1 To xlWorkSheet.UsedRange.Rows.Count 
     Dim rowIndex = LogCalcEnter.Rows.Add() 
     Dim hasValue = False 
     For j = 0 To LogCalcEnter.ColumnCount - 1 
      If Not String.IsNullOrEmpty(xlWorkSheet.Cells(1 + x, j + 1).Value) Then 
       hasValue = True 
       LogCalcEnter.Item(j, rowIndex).Value = xlWorkSheet.Cells(1 + x, j + 1).value 
      End If 
     Next 
     If Not hasValue Then LogCalEnter.Rows.RemoveAt(rowIndex) 
    Next 
+0

Да, это работает. Фактически данные, которые я хочу импортировать из excel, начинаются с 10-й строки. до 14-й строки у меня есть данные после этих пустых ячеек. Но Used Range возвращает 50 строк. Таким образом, пустые строки добавляются в datagridview. Вот почему я положил Rows.Add() после проверки IsNullorEmpty If. – Anu

+0

Я изменил код, чтобы пустые строки не были добавлены. – FloatingKiwi

+0

Да .. я получил это. – Anu

Смежные вопросы