【发布时间】:2019-07-25 17:02:36
【问题描述】:
我想以 .cvs 或 .txt 格式导出
但我不明白如何做到这一点
用Datagridview和访问
这是调用DataGridView数据库的代码
Imports System.Data.OleDb
Imports System.IO
Public Class Form1
Private Access As New DBControl
Private Function NotEmpty(text As String) As Boolean
Return Not String.IsNullOrEmpty(text)
End Function
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'Run Query
Access.ExecQuery("SELECT * FROM Members ORDER BY username ASC")
If NotEmpty(Access.Exception) Then MsgBox(Access.Exception) : Exit Sub
'Fill DataGrid
dgvData.DataSource = Access.DBDT
End Sub
End Class
这是我的连接
Imports System.Data.OleDb
Public Class DBControl
'Create or database Connection
Private DbCon As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;" &
"Data Source=Sample.accdb")
'Prepare DB Connect
Private DBCmd As OleDbCommand
'DB Data
Public DBDA As OleDbDataAdapter
Public DBDT As DataTable
'Query Parameters
Public Params As New List(Of OleDbParameter)
'Query Statistics
Public RecordCount As Integer
Public Exception As String
Public Sub ExecQuery(Query As String)
'Reset Query Stats
RecordCount = 0
Exception = ""
Try
'Open A Connection
DbCon.Open()
'Create DB Command
DBCmd = New OleDbCommand(Query, DbCon)
'Load Params into DB Command
Params.ForEach(Sub(p) DBCmd.Parameters.Add(p))
'Clear params list
Params.Clear()
'Execute command & fill database
DBDT = New DataTable
DBDA = New OleDbDataAdapter(DBCmd)
RecordCount = DBDA.Fill(DBDT)
Catch ex As Exception
Exception = ex.Message
End Try
'CLOSE YOUR CONNECTION
If DbCon.State = ConnectionState.Open Then DbCon.Close()
End Sub
'INCLUDE QUERY & COMMAND PARAMETERS
Public Sub AddParam(Name As String, value As Object)
Dim NewParam As New OleDbParameter(Name, value)
Params.Add(NewParam)
End Sub
End Class
它是一个表格,如果您点击“导出”按钮,程序应该以 .csv 或 txt 格式导出所有数据。
【问题讨论】:
-
大概
Access.DBDT是System.Data.DataTable- 很确定有现成的Nuget 包接受DataTable并让您将其内容转储到.csv 文件中。您将希望您的Export按钮抓住dgvData.DataSource,将其转换为DataTable,然后从那里构建您的CSV。你坚持哪个具体部分? -
好吧,我卡在 Datagridview 中,假设我创建了一个按钮,上面写着 export 我想在按下按钮时将该数据导出到 .cvs
标签: vb.net winforms csv ms-access datagridview