我回答你的第一個問題,因為后面的看不懂你的意思
成都創新互聯公司網站建設公司一直秉承“誠信做人,踏實做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務為基礎,以質量求生存,以技術求發展,成交一個客戶多一個朋友!專注中小微企業官網定制,成都網站設計、成都網站制作,塑造企業網絡形象打造互聯網企業效應。
函數:
Public Function ListViewtoExcel(ByVal LV As ListView) As Boolean
Try
If LV.Items.Count = 0 Then '判斷記錄數,如果沒有記錄就退出
MessageBox.Show("沒有記錄可以導出", "沒有可以導出的項目", MessageBoxButtons.OK, MessageBoxIcon.Information)
Return False
End If
'如果有記錄就導出到Excel
Dim AP_Excel As Object '定義Excel對象
Dim wk As Object '定義Workbook對象
AP_Excel = CreateObject("Excel.Application") '創建Excel對象
wk = AP_Excel.workbooks.add()
Dim i As Integer, u As Integer = 0, v As Integer = 0 '定義循環變量,行變量,列變量
For i = 1 To LV.Columns.Count '把表頭寫入Excel
wk.worksheets(1).cells(1, i) = LV.Columns(i - 1).Text.Trim
Next
Dim str(LV.Items.Count - 1, LV.Columns.Count - 1) '定義一個二維數組
For u = 0 To LV.Items.Count - 1 '行循環
For v = 0 To LV.Columns.Count - 1 '列循環
If v LV.Items(u).SubItems.Count Then '如果該行該列項存在
str(u, v) = LV.Items(u).SubItems(v).Text.Trim
Else '如果該行該列項不存在
str(u, v) = ""
End If
Next
Next
wk.worksheets(1).range("A2").Resize(LV.Items.Count, LV.Columns.Count).Value = str '把數組一起寫入Excel
wk.worksheets(1).Cells.EntireColumn.AutoFit() '自動調整Excel列
' yy.worksheets(1).name = LV.TopLeftHeaderCell.Value.ToString '表標題寫入作為Excel工作表名稱
AP_Excel.visible = True '設置Excel可見
wk = Nothing '銷毀組建釋放資源
AP_Excel = Nothing '銷毀組建釋放資源
Return True '返回真
Catch ex As Exception '錯誤處理
MessageBox.Show(Err.Description.ToString, "錯誤", MessageBoxButtons.OK, MessageBoxIcon.Error) '出錯提示
Return False '返回假
End Try
End Function
調用函數:如 ListViewtoExcel(Me.ListView1)
介紹
下面通過一步一步的介紹,如何通過VB.NET來讀取數據,并且將數據導入到Excel中。
第一步:
打開VS開發工具,并且添加引用。
然后選擇。
Microsoft Excel 12.0 object library and。
Microsoft Excel 14.0 object library。
第二步:
創建一個Excle在你的電腦中。
第三步:
在VS中寫入如下代碼:
Imports System.Data
Imports System.Data.SqlClient
Imports Excel = Microsoft.Office.Interop.Excel。
Public Class excel
‘添加按鈕
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
? Handles Button1.Click
Try
?? ?'創建連接
?? ?Dim cnn As DataAccess = New DataAccess(CONNECTION_STRING)
?? ?
?? ?Dim i, j As Integer
?? ?'創建Excel對象
?? ?Dim xlApp As Microsoft.Office.Interop.Excel.Application
?? ?Dim xlWorkBook As Microsoft.Office.Interop.Excel.Workbook
?? ?Dim xlWorkSheet As Microsoft.Office.Interop.Excel.Worksheet
?? ?Dim misValue As Object = System.Reflection.Missing.Value
?? ?xlApp = New Microsoft.Office.Interop.Excel.ApplicationClass
?? ?xlWorkBook = xlApp.Workbooks.Add(misValue)
?? ?' 打開某一個表單
?? ?xlWorkSheet = xlWorkBook.Sheets("sheet1")
?? ?' sql查詢
?? ?'??xlWorkBook.Sheets.Select("A1:A2")
?? ?Dim sql As String = "SELECT * FROM EMP"
?? ?' SqlAdapter
?? ?Dim dscmd As New SqlDataAdapter(sql, cnn.ConnectionString)
?? ?' 定義數據集
?? ?Dim ds As New DataSet
?? ?dscmd.Fill(ds)
?? ? ‘添加字段信息到Excel表的第一行
?? ?xlWorkSheet.Cells(1, 1).Value = "First Name"
?? ?xlWorkSheet.Cells(1, 2).Value = "Last Name"
?? ?xlWorkSheet.Cells(1, 3).Value = "Full Name"
?? ?xlWorkSheet.Cells(1, 4).Value = "Salary"
?? ?' 將數據導入到excel
?? ???For i = 0 To ds.Tables(0).Rows.Count - 1
?? ?? ? 'Column
?? ?? ? For j = 0 To ds.Tables(0).Columns.Count - 1
?? ?? ?? ???' this i change to header line cells
?? ?? ?? ???xlWorkSheet.Cells(i + 3, j + 1) = _
?? ?? ?? ???ds.Tables(0).Rows(i).Item(j)
?? ?? ? Next
?? ?Next
?? ?'HardCode in Excel sheet
?? ?' this i change to footer line cells??
???xlWorkSheet.Cells(i + 3, 7) = "Total"
?? ?xlWorkSheet.Cells.Item(i + 3, 8) = "=SUM(H2:H18)"
?? ?' 保存到Excel
?? ?xlWorkSheet.SaveAs("D:\vbexcel.xlsx")
?? ?xlWorkBook.Close()
?? ?xlApp.Quit()
?? ?releaseObject(xlApp)
?? ?releaseObject(xlWorkBook)
?? ?releaseObject(xlWorkSheet)
?? ?'彈出對話框顯示保存后的路徑
?? ?MsgBox("You can find the file D:\vbexcel.xlsx")
Catch ex As Exception
End Try
End Sub
' Function of Realease Object in Excel Sheet
Private Sub releaseObject(ByVal obj As Object)
Try
?? ?System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
?? ?obj = Nothing
Catch ex As Exception
?? ?obj = Nothing
Finally
?? ?GC.Collect()
End Try
End Sub
End Class
復制代碼。
第四步:
看到如下導出結果。
一行一行的insert into到另一個數據庫就行了。一般不使用批量寫入,字符串太長
不好意思 現在才看到;Private Sub 導出EXCEL_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim xlApp, xlBook, xlSheet As Object
xlapp = CreateObject("Excel.Application")
xlbook = xlapp.Workbooks.Add
xlsheet = xlbook.Worksheets(1)
'Dim xlapp As New Excel.Application
'Dim xlbook As Excel.Workbook
'Dim xlsheet As Excel.Worksheet
Dim rowindex, colindex As Integer rowindex = 1 '行
colindex = 0 '列
'xlbook = xlapp.Workbooks.Open("c:\EXCEL.xls") '打開EXCEL文件
xlsheet = xlapp.Worksheets("sheet1") '打開sheet1那頁 Dim a As New DataSet
Dim table As New System.Data.DataTable table = DataSet11.Tables("INVMATLISTA") '填充表 Dim row As DataRow '定義row為表格的行
Dim col As DataColumn '定義col為表格的列 '把表格的每一列寫到EXCEL去
For Each col In table.Columns
colindex = colindex + 1
xlapp.Cells(1, colindex) = col.ColumnName Next
'把表格的每一行寫到EXCEL去
For Each row In table.Rows
rowindex = rowindex + 1
colindex = 0
For Each col In table.Columns
colindex = colindex + 1
xlapp.Cells(rowindex, colindex) = row(col.ColumnName)
Next
Next
xlapp.Visible = True
End Sub 前提要先引用一個Microsoft.Office.Interop.Excel.dll然后在最上面先輸入Imports Microsoft.Office.Interop; 就可以了
網站名稱:vb.net數據導出 vbnet recordset
網址分享:http://newbst.com/article42/doipghc.html
成都網站建設公司_創新互聯,為您提供微信小程序、動態網站、Google、企業建站、網頁設計公司、網站改版
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯