Member 13263454 Ответов: 1

Есть ли лучший способ проверить данные в электронной таблице excel?


хотите проверить 1-ю строку спред-листа, чтобы убедиться в правильности данных. Это заголовок для каждого столбца. Это, кажется, читается мимо клетки, как и должно быть.

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

private Sub SomeSubName(and so on)

 	Dim fp As String = SelectFile()
   	Dim ExcelData As DataTable
        Dim correctColumns = True

            ExcelData = PopulateDataTable(fp)
       
              
            If Not IsDBNull(ExcelData) Then
                Try
                    'loop over each column name and verify data is correct

                      For Each columnName In ExcelData.Columns
                   
                        Select Case columnName.ToString().ToLower()
                            Case "lastname"
                                correctColumns = True
                            Case "firstname"
                                correctColumns = True
                            Case "mi"
                                correctColumns = True
                            Case "suffix"
                                correctColumns = True
                            Case "street"
                                correctColumns = True
                            Case "city"
                                correctColumns = True
                            Case "state"
                                correctColumns = True
                            Case "zip"
                                correctColumns = True
                            Case "phone"
                                correctColumns = True
                            Case "fax"
                                correctColumns = True
                        End Select
                    Next

Richard MacCutchan

Вы не проверяли конец столбцов.

Member 13263454

Я не знаю, как это сделать. Я не могу найти нужную вещь в google.

Richard MacCutchan

Проверьте, является ли он нулевым.

CHill60

Как это происходит PopulateDataTable() на самом деле заселить ExcelData? Вот в чем проблема, но вы не поделились кодом.
Ваша логика также совершенно неверна для определения правильности столбцов - correctColumns не может быть false с вашим текущим кодом.

1 Ответов

Рейтинг:
2

Mohideenmeera

Вы можете использовать следующее
dim LastColumn as long=0
LastColumn=Лист1.Ячейки.Диапазон ("A1"). конец(xlToRight).Колонка

для j=1 до последнего столбца
MsgBox(Лист1.Ячейки (j, i). значение)
.....
....
...
следующий

Этот метод поможет в приведенном ниже сценарии
Если у вас есть данные до столбца Z и после этого вы удалили данные 3 столбцов
Но ExcelData.Колонки бы еще петли по Зи, в котором он должен быть зациклен только в. до