加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

.net – 如何将数据库表转储到Excel工作表?

发布时间:2020-12-12 06:22:21 所属栏目:MsSql教程 来源:网络整理
导读:我从我的数据库中获取数据,我希望将这些数据作为excel文件中的表. 所以,我写了以下内容: Dim sheetToPopulate As Excel.Worksheet = getSheet() Dim reader As OleDbDataReader Dim query As String = "SELECT * FROM dataTable" Dim cmd As New OleDbComman
我从我的数据库中获取数据,我希望将这些数据作为excel文件中的表.
所以,我写了以下内容:
Dim sheetToPopulate As Excel.Worksheet = getSheet()
    Dim reader As OleDbDataReader
    Dim query As String = "SELECT * FROM dataTable"
    Dim cmd As New OleDbCommand(query,oleConn)
    Dim reader As OleDbDataReader
    oleConn.Open()
    reader = cmd.ExecuteReader()
    Do While reader.Read()
        // How use the reader to populate the sheet at once.
        // I have the sheet object as sheetToPopulate.
        // cell.Vaule = reader.GetString(0)  ' It would be very in-efficient and complex.
        // How can I dump the table to my excel sheet ?
    Loop
    reader.Close()
    oleConn.Close()

应该有一个明显的方法来做到这一点?

将数据库表转储到Excel工作表?

[ 我是不是该 ? ]

Should I use dataset of something.. ? If yes,how to proceed for that ?

请帮助..我是新来的!!

解决方法

以下是我解决这个问题的方法:
Private Function getData(ByVal query As String,ByVal conStr As String) As Object
    Dim adapter As New Data.OleDb.OleDbDataAdapter(query,conStr)
    Dim dataSet As New Data.DataSet
    adapter.Fill(dataSet)
    Dim dataTable As Data.DataTable = dataSet.Tables(0)
    Dim data(dataTable.Rows.Count,dataTable.Columns.Count - 1) As Object
    For col = 0 To dataTable.Columns.Count - 1
        For row = 0 To dataTable.Rows.Count - 1
            data(row,col) = dataTable.Rows(row).ItemArray(col)
        Next
    Next
    Return data
End Function

Then Finally,do the following to the range where you want to have this data

range.Value = getDate(query,conStr)

这解决了整个问题!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读