2016-06-28 86 views
0

我想将数据添加到Excel文件,我建立了数据库连接,并使用SSMS将需要的信息拖入存储过程。使用VB.NET将特定数据库数据添加到excel文件

我已经加入根据我的需要,一些行会在这里的静态数据的信息栏是我的代码:

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

Let's use this as an example

比方说,我已经退出第二查询到的DataTable。我会填充它导入到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范围...

+0

那是天才!谢谢! – Nonagon