将电子表格 (OpenOffice) 导入 Visual Basic .net 组合框
Posted
技术标签:
【中文标题】将电子表格 (OpenOffice) 导入 Visual Basic .net 组合框【英文标题】:Import spread sheet (OpenOffice) to Visual Basic .net combo box 【发布时间】:2017-11-11 03:01:25 【问题描述】:我有一个 OpenOffice 电子表格中的客户姓名、项目名称、员工姓名和小时费率列表,我需要将其导入 Visual Basic .net 2017。如果我可以对组合框执行此操作,那将是首选,因此用户只需从下拉列表中选择名称。如果不设置 SQL 服务器,这似乎是不可能的。有谁知道我应该怎么做?
我试过了,但它说它无法连接到 Microsoft.Ace.OLEDB.12.0 我从 YouTube 视频中获得了此代码
Private Sub btnGetSpread_Click(sender As Object, e As EventArgs) Handles btnGetSpread.Click
Try
Dim MyConnection As System.Data.OleDb.OleDbConnection
Dim dataSet As System.Data.DataSet
Dim MyCommand As System.Data.OleDb.OleDbDataAdapter
Dim path As String = "P:\Coding\Visual Studio\Visual Basic\TestProject\TestProject\bin\Files\Company_Sheet.ods"
MyConnection = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Ace.OLEDB.12.0;Data Source =" + "P:\Coding\Visual Studio\Visual Basic\TestProject\TestProject\bin\Files\Company_Sheet.ods" + ";Extended Properties=Excel 12.0;")
MyCommand = New System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$]", MyConnection)
dataSet = New System.Data.DataSet
MyCommand.Fill(dataSet)
dgvSpread.DataSource = dataSet.Tables(0)
MyConnection.Close()
Catch ex As Exception
MsgBox(ex.Message.ToString)
End Try
End Sub
【问题讨论】:
在发帖前阅读How to Ask 并使用tour。此外,其中几个标签是互斥的。标签包括指导文本。 这与excel
和vba
有什么关系?
【参考方案1】:
这将使您入门。我有时必须将 Excel 电子表格中的数据导入 Oracle 数据库,这段代码已有多年历史,但仍然有效(VS 2013)。修改以适合您的情况。
Dim sourceFile As String = "C:\Users\appdata\Documents\SomeData.xls"
Dim srcConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sourceFile & ";Extended Properties=""Excel 8.0;HDR=YES;"""
Dim srcConn As OleDbConnection = New OleDbConnection(srcConnString)
srcConn.Open()
' in the select statement, the fields are the column names in the spreadsheet and are expected to be in row 1 and are case sensitive
' the from clause in the query is the tab of the spreadsheet where the data is
Dim cmdExcel As OleDbCommand = New OleDbCommand("Select NAME,ADDRESS,CITY,STATE,ZIP From [DATA$] Where some where clause", srcConn)
Dim drExcel As OleDbDataReader = cmdExcel.ExecuteReader()
' Now loop through the rows in the spreadsheet
While drExcel.Read()
'Do stuff ...
End While
【讨论】:
以上是关于将电子表格 (OpenOffice) 导入 Visual Basic .net 组合框的主要内容,如果未能解决你的问题,请参考以下文章
将 excel、openoffice 和 ms office 2007 数据导入到 rails 中的 db
如何使用 C# 和 LibreOffice/OpenOffice 在电子表格单元格中设置粗体文本?