使用VB.NET将特定数据库数据添加到excel文件

时间:2016-06-28 12:01:07

标签: vb.net excel tsql

我想将数据添加到Excel文件中,我建立了数据库连接,并使用SSMS将所需信息提取到存储过程中。

我根据我需要的信息添加了列,这里的一些行将是静态数据,这是我的代码:

Private Sub ExcelOutput_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExcelOutput.Click


Dim xlApp As Excel.Application
Dim xlWorkBook As Excel.Workbook
Dim xlWorkSheet As Excel.Worksheet
Dim xlRange As Excel.Range
Dim misValue As Object = System.Reflection.Missing.Value
Dim rNum As Random = New Random



xlApp = New Excel.Application
xlWorkBook = xlApp.Workbooks.Add(misValue)
xlWorkSheet = xlWorkBook.Sheets("sheet1")
xlRange = xlWorkSheet.UsedRange


With xlWorkSheet
    .Range("A1").Value = "Col1"
    .Range("B1").Value = "Col2"
    .Range("C1").Value = "Col3"
    .Range("D1").Value = "Col4"
    .Range("E1").Value = "Col5"
    .Range("F1").Value = "Col6"
    .Range("G1").Value = "Col7"
    .Range("H1").Value = "Col8"
    .Range("I1").Value = "Col9"
    .Range("J1").Value = "Col10"
    .Range("K1").Value = "Col11"
    .Range("L1").Value = "Col12"



    xlWorkSheet.Range("E2:E10").Value = DateTime.Now.ToString("dd-MMM-yy")
        xlWorkSheet.Range("F2:F10").Value = "Upload"
        xlWorkSheet.Range("G2:G10").Value = rNum.Next()
        xlWorkSheet.Range("I2:I10").Value = "INCLUDED"

End With

我想知道的是我如何能够遍历数据库表并根据每列中的信息填充Excel文件中的每个单元格,例如col1将具有帐户客户ID,即从存储过程中取出。我希望使用循环将其放入Excel文件并包含信息。

我是新手,所以会很感激一些指导

1 个答案:

答案 0 :(得分:1)

Let's use this as an example

让我们说我已将第二个查询拉入数据表中。我将按顺序将其填充到excel文件中:A1为1660,B1为HT5-088,A2为5882等......

以下是代码:

Dim pos As String = ""
    For i As Integer = 0 To datatable.Rows.Count - 1 'rows
        For j As Integer = 0 To datatable.Columns.Count - 1 'columns
            pos = Chr(Asc("A") + (j)) & i 'calculate the column according to j
            'after this, pos will have the right excel cell.
            xlWorkSheet.Range(pos).Value = datatable.Rows(i)(j)
        Next
    Next

这里的要点是,您可以使用正确的字符串来表示excel范围......