อันนี้เป็นโค้ดค่ะ
Private Sub Exportbtt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Exportbtt.Click
Dim xlApp As excel.Application
Dim xlWorkBook As excel.Workbook
Dim xlWorkSheet As excel.Worksheet
Dim i As Integer
Dim j As Integer
Dim misValue As Object = System.Reflection.Missing.Value
xlApp = New excel.Application
xlWorkBook = xlApp.Workbooks.Add(misValue)
xlWorkSheet = xlWorkBook.Sheets("sheet1")
For i = 0 To DataGridView1.RowCount - 2
For j = 0 To DataGridView1.ColumnCount - 1
xlWorkSheet.Cells(i + 1, j + 1) = DataGridView1(j, i).Value.ToString()
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
คำถามก็คือ
1.อยากให้เวลา save หรือ Export ข้อมูล ไปเป็น Excel มันเป็นแบบ Browse หรือ Save as ไปหาที่เก็บไฟล์น่ะค่ะ
2.อยากให้มันExport ออกมาแล้วมี หัว Column ด้วย มันทำได้ไหมคะ หรือว่าใช้วิธีกำหนดค่าแต่ละหัวข้อให้มันเอง เพราะถ้าทำแบบนั้นแย่เลย มันมีหลาย Column มาก
Private Sub Importbtt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Importbtt.Click
Dim dt As New DataTable
Using dr As OleDb.OleDbDataReader = New OleDb.OleDbCommand("select * from [sheet1$]", con).ExecuteReader()
If dr.HasRows Then
dt.Load(dr)
End If
End Using
Dim tr As OleDb.OleDbTransaction = con.BeginTransaction
For i As Integer = 0 To dt.Rows.Count - 1
Dim x As Integer = New OleDb.OleDbCommand("Insert into EmpProfile(field1,field2) values('" & dt.Rows(i)("field1") & "','" & dt.Rows(i)("field2") & "'", con, tr).ExecuteNonQuery
Next
tr.Commit()