我正在使用OLE連接到使用VB.NET的數據庫,並在DataGridView中顯示結果。
我想將DataGridView中的數據導出爲Excel格式文件,即用戶可以將DataGridView的內容保存爲MS Excel文件。如何在VB.NET中將DataGridView導出爲Excel格式
3
A
回答
0
最簡單的方法是使用microsoft.visualbasic.fileio(msdn link)中的textfieldparser類。僞代碼應該是:
創建一個textfieldparser對象,將該文件設置爲打開(* .csv)並進行解碼。
寫列標題通過在DataGridView或
循環的datsource 打印文本文件
用戶現在可以在Excel中打開該文件。
這是我的快速回答,我會看看是否有更好的方法來做到這一點。
2
我發現copyfromrecordset是最快的方法。
Dim xlApp As New Excel.Application
Dim xlWBook As Excel.Workbook = xlApp.Workbooks.Add
Dim XlSheet As Excel.Worksheet = CType(xlWBook.Worksheets("Sheet1"), Excel.Worksheet)
With XlSheet
'insert column names
For i = 2 To dt.Columns.Count - 1
.Cells(1, i).value = dt.Columns(i - 1).ColumnName
Next
'insert the actual data
.Range("A2").CopyFromRecordset(datset)
End With
0
私人小組的button1_Click(BYVAL發件人爲System.Object的,BYVALË作爲System.EventArgs)把手Button1.Click DATAGRIDVIEW_TO_EXCEL((DataGridView1))'參數:您的DataGridView 結束子
私人小組DATAGRIDVIEW_TO_EXCEL(BYVAL DGV作爲DataGridView中) 嘗試 昏暗DTB =新數據表,RWS作爲整數,CLS作爲整數
For CLS = 0 To DGV.ColumnCount - 1 ' COLUMNS OF DTB
DTB.Columns.Add(DGV.Columns(CLS).Name.ToString)
Next
Dim DRW As DataRow
For RWS = 0 To DGV.Rows.Count - 1 ' FILL DTB WITH DATAGRIDVIEW
DRW = DTB.NewRow
For CLS = 0 To DGV.ColumnCount - 1
Try
DRW(DTB.Columns(CLS).ColumnName.ToString) = DGV.Rows(RWS).Cells(CLS).Value.ToString
Catch ex As Exception
End Try
Next
DTB.Rows.Add(DRW)
Next
DTB.AcceptChanges()
Dim DST As New DataSet
DST.Tables.Add(DTB)
Dim FLE As String = "" ' PATH AND FILE NAME WHERE THE XML WIL BE CREATED (EXEMPLE: C:\REPS\XML.xml)
DTB.WriteXml(FLE)
Dim EXL As String = "" ' PATH OF/ EXCEL.EXE IN YOUR MICROSOFT OFFICE
Shell(Chr(34) & EXL & Chr(34) & " " & Chr(34) & FLE & Chr(34), vbNormalFocus) ' OPEN XML WITH EXCEL
Catch ex As Exception
MsgBox(ex.ToString)
End Try
結束子
0
我測試了它和它的工作。
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
Dim i As Integer
Dim j As Integer
Try
xlApp = New Microsoft.Office.Interop.Excel.Application
xlApp.Application.DisplayAlerts = False
xlWorkBook = xlApp.Workbooks.Add(misValue)
xlWorkSheet = xlWorkBook.Sheets.Add()
xlWorkSheet.Name = "MysqlSheet"
For i = 0 To Form2.DataGridView2.RowCount - 1
For j = 0 To Form2.DataGridView2.ColumnCount - 1
For k As Integer = 1 To Form2.DataGridView2.Columns.Count
xlWorkSheet.Cells(1, k) = Form2.DataGridView2.Columns(k - 1).HeaderText
xlWorkSheet.Cells(i + 2, j + 1) = Form2.DataGridView2(j, i).Value
Next
Next
Next
xlWorkSheet.SaveAs("c:\") 'Where u want to save
xlWorkBook.Close()
xlApp.Quit()
Catch ex As Exception
MsgBox(ex.Message)
Finally
End Try
相關問題
- 1. 將Datagridview導出爲使用XML格式的Excel
- 2. VB.net導出爲PDF格式
- 3. 不導出datagridview數據excel vb.net
- 4. 如何將DatagridView導出到Excel
- 5. 將Datagridview導出到Excel中的Excel#
- 6. 將datagridview導出爲Excel的問題
- 7. 將QuickReport導出爲Excel xlsx格式
- 8. 如何將HTML表格導出爲Excel格式?
- 9. 如何將表格導出爲csv或excel格式
- 10. C#導出爲Excel格式
- 11. 從datagridview導出到Excel時的顏色單元格vb.net
- 12. 如何C#的datagridview導出到Excel中
- 13. 將Excel範圍導出爲圖像(VB.NET)
- 14. 如何在VB.NET中從excel導出的datagridview中過濾多個列
- 15. 如何在VB.NET中使用xml和datagridview導出excel時設置自定義日期格式?
- 16. 導出datagridview列excel
- 17. 如何將DataGridView導出爲PDFth/Excel/Word以便輕鬆打印?
- 18. vb.net導出datagrid爲excel某些列數據格式丟失
- 19. 如何將過濾的數據導出爲csv或excel格式?
- 20. 將AsciiMathML公式導出到Excel格式
- 21. 如何在Flex中將數據網格導出爲Excel文件?
- 22. 將數據導出到excel中vb.net
- 23. 如何將SVG導出爲PNG格式
- 24. 如何在ASP.NET MVC中將網格導出爲PDF格式
- 25. 如何在導出Excel文件時將單元格格式指定爲「文本」
- 26. 如何只將選定的行從datagridview導出到excel中?
- 27. 導入/導出的DataGridView與格式C#
- 28. 通過excel vba將excel文件導出爲txt格式GUI
- 29. Vb.Net格式化的datagridview
- 30. 將Datagridview記錄導出到Excel
謝謝,但你能解釋一下更多的代碼嗎? – 2009-12-01 06:44:52