下面的代码可以实现你的要求:
Dim a, b, i
Set a = CreateObject("ExcelApplication")
Set b = aWorkbooksOpen("d:\q1xls") '这里改为你的EXCEL文件的路径及文件全名
'假定了你的数据在第一个工作表,如果不是第一个你可以把下面的Sheets("sheet1")改为相应的表。Combo1是你的ComboBox的控件名,根据情况修改
For i = 1 To bsheets("sheet1")[iv1]End(-4159)Column
Combo1AddItem bsheets("sheet1")cells(1, i)
Next i
bClose
Set b = Nothing
Set a = Nothing
Excel 的列一般是用序号代表的,1,2,3…… 第N列 你可以用Adonet连接excel,把excel当作access表用 string conn = " Provider = MicrosoftJetOLEDB40 ; Data Source ="+ServerMapPath("file")+"/"+filename+";Extended Properties=Excel 80" ; OleDbConnection thisconnection=new OleDbConnection(conn); thisconnectionOpen(); string Sql="select from [Sheet1$]"; OleDbDataAdapter mycommand=new OleDbDataAdapter(Sql,thisconnection); DataSet ds=new DataSet(); mycommandFill(ds,"[Sheet1$]"); thisconnectionClose(); ds里取列、字段值,应该比较容易了 如果你的表格格式比较复杂,甚至一个sheet上有若干表,你还需要导入导出excel,建议采用微软Office专用中间件——SOAOffice
第一步
先解决相同分数的问题
在M2单元格中输入=B2-COLUMN()00001
第二步
完成所要达到的效果
然后在X2格中输入=INDEX($B$1:$L$1,MATCH(LARGE($M2:$W2,COLUMN(A1)),$M2:$W2,0))&INDEX($B2:$L2,MATCH(LARGE($M2:$W2,COLUMN(A1)),$M2:$W2,0))
然后向右边2格拖动公式(如果向右3格复制公式就是加上第四名的学科以此类推)
然后选中M2格到Z2格向下复制公式即可
以上就是关于vb 读取excel的列名全部的内容,包括:vb 读取excel的列名、C# .net 获取 Excel中的列名、excel获取分数排名前三的列名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)