سلام من از کد زیر برای خروجی فایل اکسل استفاده می کنم و همه چیز درسته فقط مشکل اینجاست که وقتی یه رکورد جدید ثبت می کنم یا ویرایش می کنم و مجددا فایل اکسل می گیریم هموم اطلاعات قلبی رو بهم نشون میده. کمک کنید دیگه خسته شدم هر چی گشتم به نتیجه نمی رسم.
کد خروجی فایل اکسل
Dim exeleapp As Microsoft.Office.Interop.Excel.Application = New Microsoft.Office.Interop.Excel.Application()
Dim exelbook As Microsoft.Office.Interop.Excel.Workbook = exeleapp.Workbooks.Add(XlSheetType.xlWorksheet)
Dim exelworksheet As Microsoft.Office.Interop.Excel.Worksheet = CType((exelbook.Worksheets(1)), Worksheet)
exelworksheet.DisplayRightToLeft = True
Dim clmncnt As Integer = My.Forms.Form_listsarb.DataGridkhedmat.Columns.Cou nt
Dim rng() As Range = New Range(clmncnt) {}
Dim x As Integer
For x = 0 To clmncnt - 1 Step x + 1
Dim celladress As String = Convert.ToString(Convert.ToChar(Convert.ToByte(x + 65))) + "1"
rng(x) = exelworksheet.Range(celladress, celladress)
rng(x).Value2 = My.Forms.Form_listsarb.DataGridkhedmat.Columns(x). HeaderText
exelworksheet.UsedRange.Font.Name = "b titr"
exelworksheet.UsedRange.ColumnWidth = 20
Next
Dim j As Integer = 2
For Each r As DataRow In DataSet1.Tables(0).Rows
Dim k As Integer
For k = 0 To clmncnt - 1 'Step k + 1
Dim celladress As String = Convert.ToString(Convert.ToChar(Convert.ToByte(k + 65))) + j.ToString()
rng(k) = exelworksheet.Range(celladress, celladress)
rng(k).Value2 = r(k).ToString()
exelworksheet.UsedRange.Font.Name = "b mitra"
Next
j = j + 1
Next
exeleapp.Visible = True
این کد رو هم گذاشتم روی یه رادیوچک که باید انتخاب بشه بعد رو دکمه ای که کد های بالا رو نوشتم کلیلک کنه
Me.sarbTableAdapter.FillBy(Me.sarbDataSet1.sarb)