阅读 excel 的专栏并从大到小列出?
Read column from excel and list greatest to lowest?
所以我能够从 Excel 文件中读取并获取我想要的单元格的值。如果我想读取一整列(标题为第 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
上面的代码只获取一个单元格值,我想获取所有年龄值并将其从最高 (16) 到最低 (15) 排序,名字是什么?
像这样?
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()
所以我能够从 Excel 文件中读取并获取我想要的单元格的值。如果我想读取一整列(标题为第 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
上面的代码只获取一个单元格值,我想获取所有年龄值并将其从最高 (16) 到最低 (15) 排序,名字是什么?
像这样?
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()