excel - 如何将 Excel 数据或文件直接打开到 Gridview
问题描述
下一步与导入Excel文件类似,但这次是直接打开文件到文件夹,不用打开或选择文件到窗口,只需点击按钮即可。
将所有 Excel 文件直接导入 GridView:
这是代码示例:
Dim conn As OleDbConnection
Dim dta As OleDbDataAdapter
Dim dts As DataSet = Nothing
Dim mainDts As DataSet = Nothing
Dim Excel As String
Dim OpenFileDialog As New OpenFileDialog
OpenFileDialog.InitialDirectory = "C:\Tests\Test"
OpenFileDialog.Multiselect = True
OpenFileDialog.Filter = "All Files (*.*)|*.*|Excel Files (*.xlsx)|*.xlsx|Xls Files (*.xls)|*.xls"
If OpenFileDialog.ShowDialog(Me) = DialogResult.OK Then
For Each fileName As String In OpenFileDialog.FileNames
Dim fi As New IO.FileInfo(fileName)
Excel = fi.FullName
conn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Excel + ";Extended Properties=Excel 12.0;")
dta = New OleDbDataAdapter("select * from [Sheet$]", conn)
dts = New DataSet
dta.Fill(dts, "[Sheet$]")
conn.Close()
If mainDts Is Nothing Then
mainDts = dts
Else
mainDts.Merge(dts)
End If
Next
GridControl1.DataSource = mainDts
GridControl1.DataMember = "[Sheet$]"
End If
End Sub
是否可以仅单击此按钮导入以直接打开这样的文件?
"C:\Tests\Test"
解决方案
删除 OpenFileDialog,并将其 FileNames 属性替换为您自己的 FileNames 集合。在这种情况下,我当场做了一个简单的数组。
Dim conn As OleDbConnection
Dim dta As OleDbDataAdapter
Dim dts As DataSet = Nothing
Dim mainDts As DataSet = Nothing
Dim Excel As String
Dim fileNames = {"C:\Tests\Test\Test1.xls"}
For Each fileName As String In fileNames
Dim fi As New IO.FileInfo(fileName)
Excel = fi.FullName
conn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Excel + ";Extended Properties=Excel 12.0;")
dta = New OleDbDataAdapter("select * from [Sheet$]", conn)
dts = New DataSet
dta.Fill(dts, "[Sheet$]")
conn.Close()
If mainDts Is Nothing Then
mainDts = dts
Else
mainDts.Merge(dts)
End If
Next
GridControl1.DataSource = mainDts
GridControl1.DataMember = "[Sheet$]"
End Sub
推荐阅读
- java - 我如何设置 Apache Shiro 会话
- django - 序列化多对多字段 drf haystack
- vba - 将交叉引用链接插入表格单元格
- python - Python用从索引到另一个的值填充数组
- c++ - 用袖带实现实到复 FFT
- asp.net - 如何将 Angular 与 .ASP.NET Core MVC 应用程序混合使用?
- gradle - 如何防止监控构建文件夹的gradle checkstyle
- javascript - 将多个动作还原为一次
- objective-c - 在这种情况下如何设置完成块?
- javascript - Rails 4 - 单击时在 js.erb 中渲染 ruby 部分