PDA

View Full Version : سوال: ذخیره کردن دیتای vb.net در اکسل



nnshokry
شنبه 04 مهر 1394, 16:50 عصر
سلام
بنده یه فرم تو vb.net 2010 طراحی کردم که یه سری محاسیات رو داده هاانجام میده و میخوام اطلاعاتشو توی اکسل ذخیره کنم . خیلی از تایپیکهای مشابه را خوندم ولی موفق نشدم این کارو بکنم
و موقعی که کدها رو مینویسم پروژه م ارور میده و اصلا دیبگ نمیشه
با اینکه قبلا با vb.net برنامه هایی رو نوشتم و تجربه های موفقی ازش دارم ولی ارتباط با پایگاه داده را انجام ندادم و اطلاعاتی ازش ندارم
دوستان لطفا کمک کنید

shadi khanum
یک شنبه 05 مهر 1394, 08:07 صبح
از dll به اسم interop.excell استفاده کن و به راحتی با این dll میتونید فایل اکسل بسازید و به سطر و ستونهای اون فایل اکسل ساخته شده دسترسی داشته باشی و در آخر هم ذخیره اش کنی

nnshokry
یک شنبه 05 مهر 1394, 10:15 صبح
ممنون از راهنماییتون
میشه کمی بیشتر توضیح بدین ؟ اگر زحمت بکشین کد و تصویر هم بذارین خیلی ممنون میشم

arash21hhhh
دوشنبه 06 مهر 1394, 20:46 عصر
سلام . از قسمت رفرنس ها رفرنسی که دوستان گفتن رو به پروژه اضافه کنید . interop.excell
مرحله بعد هم ایجاد یک ساب شبیه کد های زیره



Private Sub DatatableToExcel(ByVal dtTemp As DataTable)
Dim _excel As New Microsoft.Office.Interop.Excel.Application
Dim wBook As Microsoft.Office.Interop.Excel.Workbook
Dim wSheet As Microsoft.Office.Interop.Excel.Worksheet

wBook = _excel.Workbooks.Add()
wSheet = wBook.ActiveSheet()

Dim dt As System.Data.DataTable = dtTemp
Dim dc As System.Data.DataColumn
Dim dr As System.Data.DataRow
Dim colIndex As Integer = 0
Dim rowIndex As Integer = 0

For Each dc In dt.Columns
colIndex = colIndex + 1
_excel.Cells(1, colIndex) = dc.ColumnName
Next

For Each dr In dt.Rows
rowIndex = rowIndex + 1
colIndex = 0
For Each dc In dt.Columns
colIndex = colIndex + 1
_excel.Cells(rowIndex + 1, colIndex) = dr(dc.ColumnName)
Next
Next

wSheet.Columns.AutoFit()
Dim strFileName As String = "C:\datatable.xlsx"
If System.IO.File.Exists(strFileName) Then
System.IO.File.Delete(strFileName)
End If

wBook.SaveAs(strFileName)
wBook.Close()
_excel.Quit()
End Sub


مرحله بعد کافیه فقط دیتا تیبلو به این ساب پاس بدین و تمام .

nnshokry
دوشنبه 20 مهر 1394, 15:55 عصر
سلام . از قسمت رفرنس ها رفرنسی که دوستان گفتن رو به پروژه اضافه کنید . interop.excell
مرحله بعد هم ایجاد یک ساب شبیه کد های زیره



Private Sub DatatableToExcel(ByVal dtTemp As DataTable)
Dim _excel As New Microsoft.Office.Interop.Excel.Application
Dim wBook As Microsoft.Office.Interop.Excel.Workbook
Dim wSheet As Microsoft.Office.Interop.Excel.Worksheet
wBook = _excel.Workbooks.Add()
wSheet = wBook.ActiveSheet()
Dim dt As System.Data.DataTable = dtTemp
Dim dc As System.Data.DataColumn
Dim dr As System.Data.DataRow
Dim colIndex As Integer = 0
Dim rowIndex As Integer = 0
For Each dc In dt.Columns
colIndex = colIndex + 1
_excel.Cells(1, colIndex) = dc.ColumnName
Next
For Each dr In dt.Rows
rowIndex = rowIndex + 1
colIndex = 0
For Each dc In dt.Columns
colIndex = colIndex + 1
_excel.Cells(rowIndex + 1, colIndex) = dr(dc.ColumnName)
Next
Next
wSheet.Columns.AutoFit()
Dim strFileName As String = "C:\datatable.xlsx"
If System.IO.File.Exists(strFileName) Then
System.IO.File.Delete(strFileName)
End If
wBook.SaveAs(strFileName)
wBook.Close()
_excel.Quit()
End Sub


مرحله بعد کافیه فقط دیتا تیبلو به این ساب پاس بدین و تمام .

ممنون از راهنماییتون ولی موفق نشدم :گریه:
یه آموزش تصویری میخوام که دقیقا مراحلو چک کنم ببینم مشکل از کجاست
دوستان لطفا کمک کنید