Прочитать столбец из Excel и список от наибольшего к низшему? - PullRequest
0 голосов
/ 06 декабря 2018

Так что я могу читать из файла Excel и получить значение ячейки, которую я хочу.Что если я захочу прочитать весь 1 столбец (со строкой 1 в качестве заголовка) и перечислить значения от наибольшего к наименьшему?

        Dim MyConnection As System.Data.OleDb.OleDbConnection
        Dim MyCommand As System.Data.OleDb.OleDbDataAdapter
        Dim path As String = "C:\Users\Admin\Documents\Test\Test.xlsx"

        MyConnection = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;")
        MyCommand = New System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$]", MyConnection)

        Dim DS = New System.Data.DataSet
        MyCommand.Fill(DS)
        Dim Dt = DS.Tables(0).Rows(10)(1)

        'dataGridView1.DataSource = DS.Tables(0)


        MsgBox(Dt)


        MyConnection.Close()

Мой файл Excel выглядит примерно так:

ROW 1: NAME | AGE
ROW 2: Admin| 15
ROW 3: User | 16

Этот код выше получает только одно значение ячейки, я бы хотел получить все значения Age и отсортировать их от наибольшего (16) к низшему (15) и как это называется?

1 Ответ

0 голосов
/ 06 декабря 2018

Как это?

Dim MyConnection As System.Data.OleDb.OleDbConnection
Dim MyCommand As System.Data.OleDb.OleDbDataAdapter
Dim path As String = "C:\Users\Admin\Documents\Test\Test.xlsx"

MyConnection = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;")
MyCommand = New System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$] order by age desc", MyConnection)

Dim DS = New System.Data.DataSet
MyCommand.Fill(DS)

For Each r As DataRow In DS.Tables(0).Rows
    MsgBox(String.Format("{0}:{1}", r.Item("name"), r.Item("age")))
Next

MyConnection.Close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...