【发布时间】:2013-05-03 19:33:12
【问题描述】:
我可以将数据从 excel 检索到 GridView。
下面是代码:
If Extension = "xls" Then
connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FileUploadPath & sender.text & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=2"""
ElseIf Extension = "xlsx" Then
connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & FileUploadPath & sender.text & ";Extended Properties=""Excel 12.0;HDR=Yes;IMEX=2"""
End If
Dim query As String = "SELECT * FROM [Sheet1$]"
Dim conn As New OleDbConnection(connString)
If conn.State = ConnectionState.Closed Then
conn.Open()
End If
Dim cmd As New OleDbCommand(query, conn)
Dim da As New OleDbDataAdapter(cmd)
Dim ds As New DataSet
da.Fill(ds)
gvReadFiles.DataSource = ds.Tables(0)
gvReadFiles.DataBind()
da.Dispose()
conn.Close()
conn.Dispose()
但是 excel 中的第一行文本变成了 GridView 中的表头文本。
这也不是什么大问题,但主要问题是当 excel 的第一行中的任何单元格为空时,我不会在 GridView 中获得相同的标题单元格。取而代之的是,我得到了一些像 F2 这样的文本。
有人知道解决办法吗?
【问题讨论】:
-
你能发布 GridView 的代码吗?
-
没有网格视图的代码。在上面的代码中,gvReadFiles 是一个 GridView。
-
我的意思是你的aspx页面上gridview的asp标记
-
哦,对不起。这里是
-
所以你没有在你的gridview中定义任何列?
标签: asp.net vb.net excel gridview